< Zurück | Weiter >

Gespeicherte SQL-Prozedur erstellen

In dieser Übung erstellen Sie eine gespeicherte DB2-SQL-Prozedur mit einem Assistenten. Diese einfache gespeicherte Prozedur gibt Mitarbeiterinformationen aus der Tabelle EMP_EMPLOYEE_DIM zurück, wenn die Unternehmens-ID des Mitarbeiters mit einem Wert übereinstimmt, den der Benutzer eingibt.

Im Assistenten wählen Sie eine Schablone aus, die als Basis für den Code in der gespeicherten Prozedur verwendet werden soll. In dieser Übung erstellen Sie die Schablone, die im Assistenten ausgewählt werden soll. Für eine einfache gespeicherte Prozedur wie die, die Sie in dieser Übung erstellen, würden Sie normalerweise eine der Grundschablonen verwenden. Sie erstellen jedoch in dieser Übung eine Schablone, damit Sie mit der Erstellung von Schablonen vertraut werden.

Wenn Sie eine Routine in der Workbench erstellen, speichern Sie den Quellcode in Ihrem Projektarbeitsbereich.

Gehen Sie wie folgt vor, um eine gespeicherte SQL-Prozedur zu erstellen:

  1. Erstellen Sie eine Schablone aus einer vorhandenen Schablone.
    1. Klicken Sie auf Fenster > Benutzervorgaben. Das Fenster Benutzervorgaben wird geöffnet.
    2. Erweitern Sie Datenverwaltung > SQL-Entwicklung > Routinen und klicken Sie dann auf Schablonen.
    3. Blättern Sie auf der Seite Schablonen nach unten, bis Sie die erste Schablone mit dem Kontext db2luw_sp_sql sehen. Der Name dieser Schablone lautet Angepasst: Sie geben das SQL an. Eine Ergebnismenge wird zurückgegeben.
    4. Klicken Sie auf die Schablone und dann auf Bearbeiten. Das Fenster Schablone bearbeiten wird geöffnet.
    5. Ersetzen Sie den vorhandenen Schablonennamen durch den folgenden Text: GSDB4tutorial: Einfache Anweisung für die Mitarbeitersuche.
    6. Ersetzen Sie die vorhandene Schablonenbeschreibung durch den folgenden Text: ID, Namen und Organisation aller Mitarbeiter in Tabelle EMP_EMPLOYEE_DIM table zurückgeben.
    7. Löschen Sie im Muster alle Kommentarzeilen, die durch die beiden Kommentarzeilen mit Nummernzeichen (-- #################) begrenzt sind.
    8. Ersetzen Sie [Your SQL to execute goes here] durch die folgende SQL-Anweisung:
      		SELECT EMPLOYEE_CODE, FIRST_NAME,
      		       LAST_NAME, ORGANIZATION_CODE
      		  FROM EMP_EMPLOYEE_DIM;
      Die fertige Schablone enthält die folgenden Informationen:
      Screenshot, der das Fenster 'Schablone bearbeiten' mit der fertigen Schablone zeigt.
    9. Klicken Sie im Fenster Schablone bearbeiten auf OK. Ein Nachrichtenfeld fordert Sie auf, anzugeben, ob Sie eine zusätzliche Schablone mit dem neuen Namen erstellen oder die vorhandene Schablone umbenennen wollen.
    10. Klicken Sie auf Ja, um die neue Schablone zu erstellen. Ihre Schablone wird der Liste auf der Seite Schablonen hinzugefügt.
    11. Klicken Sie im Fenster Benutzervorgaben auf OK.
  2. Erweitern Sie das Projekt SPDevelopment in der Datenprojektexplorersicht, um den Ordner Gespeicherte Prozeduren zu finden.
  3. Klicken Sie mit der rechten Maustaste auf den Ordner Gespeicherte Prozeduren und wählen Sie dann Neu > Gespeicherte Prozedur aus. Der Assistent Neue gespeicherte Prozedur wird geöffnet.
  4. Geben Sie die Zeichenfolge SPEmployee in das Feld Name ein.
  5. Wählen Sie SQL im Feld Sprache aus.
  6. Wählen Sie die Schablone GSDB4tutorial: Einfache Anweisung für die Mitarbeitersuche aus und klicken Sie dann auf Fertig stellen. Der Assistent wird geschlossen und die gespeicherte Prozedur wird im Routineneditor geöffnet, wo Sie den Quellcode anzeigen und bearbeiten können.

    Wenn Sie die gespeicherte Prozedur gespeichert, implementiert und ausgeführt haben, würden jetzt in den Ergebnissen alle Mitarbeiter in der Tabelle angezeigt. Allerdings wollen wir die Ergebnisse auf die Mitarbeiter beschränken, die in der Organisation 018 arbeiten.

  7. Führen Sie im Editor die folgenden Aktionen aus:
    1. Fügen Sie den Eingabeparameter org der Prozedurdeklaration hinzu, sodass die Deklaration wie folgt aussieht:
      CREATE PROCEDURE SPEmployee ( IN org CHAR(6) )
    2. Löschen Sie das Semikolon, das auf EMP_EMPLOYEE_DIM folgt.
    3. Fügen Sie die folgende Bedingungsklausel ein:
      WHERE ORGANIZATION_CODE = org;
    Die fertige gespeicherte Prozedur enthält den folgenden Code:
    CREATE PROCEDURE SPEmployee ( IN org CHAR(6) )
    	DYNAMIC RESULT SETS 1
    P1: BEGIN
    	-- Declare cursor
    	DECLARE cursor1 CURSOR WITH RETURN for
    
    		SELECT EMPLOYEE_CODE, FIRST_NAME,
      		       LAST_NAME, ORGANIZATION_CODE
    		  FROM EMP_EMPLOYEE_DIM
    		    WHERE ORGANIZATION_CODE = org;
    
    	-- Cursor left open for client application
    	OPEN cursor1;
    END P1
  8. Speichern Sie die gespeicherte Prozedur und schließen Sie dann den Routineneditor.

Die gespeicherte Prozedur SPEmployee wird in der Datenprojektexplorersicht im Ordner Gespeicherte Prozeduren unter dem Projekt angezeigt, in dem Sie sie erstellt haben. Die gespeicherte Prozedur kann jetzt von Ihnen implementiert werden.

< Zurück | Weiter >

Feedback