< Précédent | Suivant >

Création d'une procédure mémorisée SQL

Dans le cadre de cet exercice, vous allez utiliser un assistant pour créer une procédure mémorisée DB2 SQL. Cette procédure mémorisée simple renvoie des informations sur les employés provenant de la table EMP_EMPLOYEE_DIM, lorsque l'ID d'organisation de l'employé correspond à la valeur entrée par l'utilisateur.

Dans l'assistant, sélectionnez un canevas à utiliser comme base de code dans la procédure mémorisée. Dans cet exercice, vous créez le canevas à sélectionner dans l'assistant. Pour une procédure mémorisée simple comme celle que vous créez dans cet exercice, vous utiliseriez habituellement un des canevas de base. Cependant, vous créez un canevas dans cet exercice pour vous familiariser avec le processus de création de canevas.

Lorsque vous créez une routine dans le plan de travail, vous sauvegardez le code source dans l'espace de travail de votre projet.

Pour créer une procédure mémorisée SQL :

  1. Créez un canevas à partir d'un canevas existant.
    1. Cliquez sur Fenêtre > Préférences. La fenêtre Préférences s'ouvre.
    2. Développez Gestion de données > SQL Development (Développement SQL) > Routines puis cliquez sur Canevas.
    3. Sur la page Canevas, faites défiler vers le bas jusqu'à ce que vous voyiez le premier canevas avec le contexte db2luw_sp_sql. Le Nom de ce canevas est "Personnalisé : vous fournissez le code SQL et obtenez un ensemble de résultats"
    4. Cliquez sur le canevas puis cliquez sur Editer. La fenêtre Edition du canevas s'ouvre.
    5. Remplacez le nom du canevas existant par le texte suivant : GSDB4tutorial : instruction SEARCH d'employé de base.
    6. Remplacez la description du canevas existante par le texte suivant : Renvoie l'ID, le nom et l'organisation de tous les employés dans la table EMP_EMPLOYEE_DIM.
    7. Dans le modèle, supprimez toutes les lignes de commentaires délimitées par les deux lignes de commentaire de signes dièse (-- #################).
    8. Remplacez [Votre code SQL à exécuter] par l'instruction SQL suivante :
      		SELECT EMPLOYEE_CODE, FIRST_NAME,
      		       LAST_NAME, ORGANIZATION_CODE
      		  FROM EMP_EMPLOYEE_DIM;
      Le canevas terminé contient les informations suivantes :
      Capture d'écran affichant la fenêtre Edition du canevas avec le canevas terminé.
    9. Cliquez sur OK dans la fenêtre Edition du canevas. Une boîte de message vous invite à indiquer si vous voulez créer un canevas supplémentaire portant le nouveau nom ou renommer le canevas existant.
    10. Cliquez sur Oui pour créer un nouveau canevas. Votre canevas est ajouté à la liste de la page Canevas.
    11. Cliquez sur OK dans la fenêtre Préférences.
  2. Dans la vue Explorateur de projets de données, développez le projet SPDevelopment pour localiser le dossier Procédures mémorisées.
  3. Cliquez avec le bouton droit de la souris sur le dossier Procédures mémorisées puis sélectionnez Nouvelle > Procédure mémorisée. L'assistant Nouvelle procédure mémorisée s'ouvre.
  4. Dans la zone Nom, entrez SPEmployee.
  5. Dans la zone Langage, sélectionnez SQL.
  6. Sélectionnez le canevas GSDB4tutorial : instruction SEARCH d'employé de base, puis cliquez sur Terminer. L'assistant se ferme et la procédure mémorisée s'ouvre également dans l'éditeur de routine, vous permettant de visualiser et d'éditer le code source.

    Pour le moment, si vous enregistriez déployiez et exécutiez la procédure mémorisée, les résultats afficheraient tous les employés de la table. Cependant, nous voulons limiter les résultats aux seuls employés de l'organisation 018.

  7. Dans l'éditeur, procédez comme suit :
    1. Ajoutez le paramètre d'entrée org à la déclaration de procédure pour que la déclaration soit comme suit :
      CREATE PROCEDURE SPEmployee ( IN org CHAR(6) )
    2. Supprimez le point-virgule suivant EMP_EMPLOYEE_DIM.
    3. Insérez la clause de condition suivante :
      WHERE ORGANIZATION_CODE = org;
    La procédure mémorisée terminée contient le code suivant :
    CREATE PROCEDURE SPEmployee ( IN org CHAR(6) )
    	DYNAMIC RESULT SETS 1
    P1: BEGIN
    	-- Déclaration du curseur
    	DECLARE cursor1 CURSOR WITH RETURN for
    
    		SELECT EMPLOYEE_CODE, FIRST_NAME,
      		     LAST_NAME, ORGANIZATION_CODE
    		  FROM EMP_EMPLOYEE_DIM
    		    WHERE ORGANIZATION_CODE = org;
    
    	-- Curseur resté ouvert pour l'application client
    	OPEN cursor1;
    END P1
  8. Enregistrez la procédure mémorisée puis fermez l'éditeur de routine.

La procédure mémorisée, SPEmployee, s'affiche dans la vue Explorateur de projets de données, dans le dossier Procédures mémorisées sous le projet dans lequel vous l'avez créée. La procédure mémorisée est prête à être déployée.

< Précédent | Suivant >

Commentaires