In dieser Übung erstellen Sie eine gespeicherte DB2-SQL-Prozedur mit einem Assistenten. Diese einfache gespeicherte Prozedur gibt Mitarbeiterinformationen aus der Tabelle EMPLOYEE zurück, wenn die Abteilungs-ID des Mitarbeiters mit einem Wert übereinstimmt, den der Benutzer eingibt.
Sie erstellen die SQL-Anweisung mit einem anderen Assistenten, obwohl Sie die Anweisung auch direkt in den Assistenten eingeben könnten, der die gespeicherte Prozedur erstellt.
Wenn Sie eine Routine in der Workbench erstellen, speichern Sie den Quellcode in Ihrem Projektarbeitsbereich. Bei der Implementierung einer Routine führt die Workbench die folgenden Aktionen aus:
- Bei Java-Routinen wird der Quellcode auf Ihrer Client-Workstation kompiliert.
- Bei SQL-Routinen wird der Quellcode auf dem Server kompiliert.
- Der Quellcode wird auf den DB2-Server kopiert.
- Die Routine wird in der Katalogtabelle registriert.
Gehen Sie wie folgt vor, um eine gespeicherte SQL-Prozedur zu erstellen und zu implementieren:
- Erweitern Sie das Projekt SPDevelopment in der Sicht Datenprojektexplorer, um den Ordner Gespeicherte Prozeduren zu finden.
- Klicken Sie den Ordner Gespeicherte Prozeduren mit der rechten Maustaste an, und wählen Sie aus. Der Assistent Neue gespeicherte Prozedur wird geöffnet.
- Geben Sie die Zeichenfolge SPEmployee in das Feld Name ein.
- Behalten Sie die voreingestellte Sprache (SQL) bei.
- Klicken Sie Weiter an.
- Klicken Sie die Option SQL erstellen auf der Seite SQL-Anweisungen an. Durch diese Aktion wird der Assistent Neue SQL-Anweisung aufgerufen, der Sie durch die Erstellung einer SQL-Anweisung führt.
- Behalten Sie auf der ersten Seite des Assistenten Neue SQL-Anweisung die Standardwerte bei, um eine Anweisung SELECT mit dem Assistenten zu erstellen, und klicken Sie Weiter an.
- Navigieren Sie in der Liste Verfügbare Tabellen zur Tabelle schemaname/schemaname.EMPLOYEE.
- Klicken Sie den Knopf > an, um die Tabelle in die Liste Ausgewählte Tabellen zu versetzen.
- Klicken Sie die Indexzunge Spalten an.
- Erweitern Sie die Baumstruktur schemaname.EMPLOYEE, und wählen Sie EMPNO, FIRSTNME, LASTNAME und WORKDEPT aus.
- Klicken Sie den Knopf > an, um die Spalten in die Liste Ausgewählte Spalten zu versetzen.
- Klicken Sie die Indexzunge Bedingungen an.
- Klicken Sie die erste Zeile in der Spalte Spalte doppelt an. Daraufhin wird eine Dropdown-Liste angezeigt.
- Klicken Sie den Abwärtspfeil an, und wählen Sie EMPLOYEE.WORKDEPT aus. Drücken Sie anschließend die Eingabetaste, um diese Auswahl festzuschreiben.
- Akzeptieren Sie in der Spalte Operator den Standardoperator (=).
- Geben Sie in der Spalte Wert die Zeichenfolge :dept ein, und drücken Sie die Eingabetaste. Durch diese Aktion wird eine Hostvariable namens dept erstellt, die als Benutzereingabeparameter für die gespeicherte Prozedur verwendet wird.
- Klicken Sie Weiter an, um die von Ihnen erstellte SQL-Anweisung anzuzeigen. Die SQL-Anweisung ähnelt dem Folgenden:
SELECT EMPNO, FIRSTNME, LASTNAME, WORKDEPT FROM SCHEMANAME.EMPLOYEE WHERE WORKDEPT = :dept
- Klicken Sie Fertig stellen an, um den Assistenten Neue SQL-Anweisung zu schließen, und klicken Sie anschließend im Assistenten Neue gespeicherte Prozedur die Option Weiter an.
- Wählen Sie auf der Seite Parameter im Feld SQL-Fehlerbehandlungscode die Einträge SQLSTATE und SQLCODE aus. In der Tabelle Parameter werden der von Ihnen erstellte Eingabeparameter (dept) sowie die Ausgabeparameter für SQLSTATE und SQLCODE angezeigt. Auf dieser Seite können Sie optional weitere Benutzerparameter erstellen, aber für die Zwecke dieses Lernprogramms behalten Sie die Parameter unverändert bei.
- Klicken Sie Weiter an.
- Wählen Sie auf der Seite Implementierungsoptionen des Assistenten die Markierungsfelder Implementieren und Debug aktivieren aus. In späteren Schritten werden Sie ein Debug für die gespeicherte Prozedur mit dem integrierten Debugger für gespeicherte SQL-Prozeduren ausführen, der in der Workbench enthalten ist. Aus diesem Grund implementieren Sie die Prozedur und aktivieren hier das Debug. Wenn Sie die Debugoption hier nicht ausgewählt haben, könnten Sie die gespeicherte Prozedur später manuell implementieren und für das Debug aktivieren, indem Sie die gespeicherte Prozedur in der Sicht Datenprojektexplorer mit der rechten Maustaste anklicken und die Option Implementieren im Kontextmenü auswählen.
- Klicken Sie Weiter an. Sie können auf der Seite Codefragmente des Assistenten optional die Dateien angeben, die Codefragmente enthalten, die in den Hauptteil der gespeicherten Prozedur eingefügt werden sollen. Geben Sie in diesem Fall keine Codefragmente an.
- Klicken Sie Weiter an, und überprüfen Sie Ihre Auswahl auf der Seite Zusammenfassung des Assistenten.
- Klicken Sie Fertig stellen an, um die gespeicherte Prozedur zu erstellen und zu implementieren.
Die gespeicherte Prozedur SPEmployee wird in der Sicht Datenprojektexplorer im Ordner Gespeicherte Prozeduren unter dem Projekt angezeigt, in dem Sie sie erstellt haben. Die gespeicherte Prozedur wird auch im Editor geöffnet, in dem Sie den Quellcode anzeigen und bearbeiten können. Da Sie die Optionen Implementieren und Debug aktivieren ausgewählt haben, wird die gespeicherte Prozedur automatisch implementiert und für das Debug aktiviert. Das Symbol neben der gespeicherten Prozedur in der Sicht Datenprojektexplorer ist mit einem Schraubenschlüssel versehen, um anzuzeigen, dass die gespeicherte Prozedur implementiert wurde. Die Ergebnisse der Implementierung können Sie in der Sicht Datenausgabe anzeigen.
An dieser Stelle könnten Sie abhängig von Ihren Geschäftsanforderungen optional mit dem Editor Änderungen an der gespeicherten Prozedur vornehmen.