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 mit der rechten Maustaste auf den Ordner Gespeicherte Prozeduren 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 auf Weiter.
- Klicken Sie auf die Option SQL erstellen auf der Seite SQL-Anweisungen. 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 SELECT-Anweisung mit dem Assistenten zu erstellen, und klicken Sie auf Weiter.
- Navigieren Sie in der Liste Verfügbare Tabellen zur Tabelle schemaname/schemaname.EMPLOYEE.
- Klicken Sie auf die Schaltfläche >, um die Tabelle in die Liste Ausgewählte Tabellen zu versetzen.
- Klicken Sie auf die Registerkarte Spalten.
- Erweitern Sie die Baumstruktur schemaname.EMPLOYEE und wählen Sie EMPNO, FIRSTNME, LASTNAME und WORKDEPT aus.
- Klicken Sie auf die Schaltfläche >, um die Spalten in die Liste Ausgewählte Spalten zu versetzen.
- Klicken Sie auf die Registerkarte Bedingungen.
- Klicken Sie doppelt auf die erste Zeile in der Spalte Spalte. Daraufhin wird eine Dropdown-Liste angezeigt.
- Klicken Sie auf den Abwärtspfeil 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 die Hostvariable dept erstellt, die als Benutzereingabeparameter für die gespeicherte Prozedur verwendet wird.
- Klicken Sie auf Weiter, um die von Ihnen erstellte SQL-Anweisung anzuzeigen. Als Ergebnis wird ungefähr die folgende SQL-Anweisung angezeigt:
SELECT EMPNO, FIRSTNME, LASTNAME, WORKDEPT FROM EMPLOYEE WHERE WORKDEPT = :dept
- Klicken Sie auf Fertig stellen, um den Assistenten Neue SQL-Anweisung zu schließen, und klicken Sie anschließend im Assistenten Neue gespeicherte Prozedur auf die Option Weiter.
- 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 auf Weiter.
- Wählen Sie auf der Seite Implementierungsoptionen des Assistenten die Kontrollkästchen Bei Beendigung implementieren und Debug aktivieren aus.
Tipp: 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 Debugoptionen für das Implementieren und Aktivieren hier nicht ausgewählt haben, könnten Sie die gespeicherte Prozedur später manuell implementieren und für das Debug aktivieren, indem Sie mit der rechten Maustaste auf die gespeicherte Prozedur in der Sicht Datenprojektexplorer klicken und die Option Implementieren im Popup-Menü auswählen.
.
- Klicken Sie auf Weiter. 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 auf Weiter und überprüfen Sie Ihre Auswahl auf der Seite Zusammenfassung des Assistenten.
Tipp: Klicken Sie auf SQL anzeigen, um den SQL-Code für die neue gespeicherte Prozedur in der Vorschau anzuzeigen, bevor Sie ihn erstellen.
- Klicken Sie auf Fertig stellen, 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 gespeicherte Prozedur wird im Datenquellenexplorer angezeigt. Die Ergebnisse der Implementierung können Sie in der Sicht SQL-Ergebnisse anzeigen.
An dieser Stelle könnten Sie abhängig von Ihren Geschäftsanforderungen optional mit dem Editor Änderungen an der gespeicherten Prozedur vornehmen.