CALLDBPROC
dbproc
ddm-name
|
|||||||||||||
|
|
|
|
|
M
|
|
|
|
|
|
||||
[USING]
|
parameter |
AD=
|
O
|
||||||||||
A
|
|||||||||||||
[RESULT SETS
result-set |
|||||||||||||
[GIVING
sqlcode]
|
|||||||||||||
|
|
CALLMODE=
|
|
NONE
|
|
|
||||||||
NATURAL
|
|||||||||||||
Dieses Dokument behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Gehört zur Funktionsgruppe: Datenbankzugriffe und Datenbankänderungen
Siehe auch CALLDBPROC - SQL im Teil Natural for Db2 in der Datenbankmanagementsystem-Schnittstellen-Dokumentation.
Das Statement CALLDBPROC dient dazu, eine Stored Procedure des
SQL-Datenbanksystems, mit dem Natural verbunden ist, aufzurufen.
Die Stored Procedure kann entweder ein Natural-Subprogramm oder ein in einer anderen Programmiersprache geschriebenes Programm sein.
Neben der Möglichkeit, Parameter zwischen dem aufrufenden Objekt und der Stored Procedure
zu übergeben, unterstützt CALLDBPROC sogenannte "Result Sets";
mit diesen ist es möglich, größere Datenmengen von der Stored Procedure an das aufrufende
Objekt zurückzugeben, als dies mittels Parametern möglich wäre.
Die Result Sets sind von der Stored Procedure erzeugte "temporäre
Ergebnistabellen", die das aufrufende Objekt mittels eines READ RESULT SET-Statements lesen
und verarbeiten können.
Anmerkung
Im Prinzip ist der Aufruf einer Stored Procedure mit dem Aufruf eines
Natural-Subprogramms vergleichbar: wenn das CALLDBPROC-Statement ausgeführt
wird, wird die Kontrolle an die Stored Procedure übergeben; nach Verarbeitung der Stored
Procedure wird die Kontrolle wieder an das aufrufende Objekt zurückgegeben, und die
Verarbeitung wird mit dem nächsten Statement nach dem CALLDBPROC-Statement
fortgesetzt.
Dieses Statement steht nur bei Natural for Db2 zur Verfügung.
| Syntax-Element | Beschreibung | |
|---|---|---|
dbproc
|
Aufzurufende Stored Procedure:
Als Der Name muss den Regeln für Stored-Procedure-Namen des Ziel-Datenbanksystems entsprechen. Falls die Stored Procedure ein Natural-Subprogramm ist, darf der eigentliche Procedure-Name nicht länger als 8 Stellen sein. |
|
ddm-name
|
Name eines Natural-Datendefinitionsmoduls (DDM):
Der Name eines DDM muss angegeben werden, um die "Adresse" der
Datenbank, welche die Stored Procedure ausführt, bereitzustellen. Weitere
Informationen siehe |
|
[USING]
parameter
|
Zu übergebende(r) Parameter:
Hier können Sie einen oder mehrere Parameter angeben, die vom aufrufenden Objekt an die Stored Procedure übergeben werden sollen. Als
Siehe weitere Informationen zu |
|
AD= |
Attribut-Definition:
Wenn es sich beim |
|
AD=O |
Nicht änderbar, siehe Session-Parameter (Entsprechende Prozedur-Notation in Db2 for z/OS: |
|
AD=M |
Änderbar, siehe Session-Parameter (Entsprechende Prozedur-Notation in Db2 for z/OS: |
|
AD=A |
Nur zur Eingabe, siehe Session-Parameter (Entsprechende Prozedur-Notation in Db2 for z/OS: |
|
Wenn parameter eine Konstante
ist, kann AD nicht explizit angegeben werden. Für
Konstanten gilt immer AD=O.
|
||
RESULT SETS result-set
|
Feld für Result-Set-Locator-Variable:
Als Ein Result-Set muss eine Variable mit Format/Länge I4 sein. Der Wert einer Result-Set-Variablen ist lediglich eine Zahl, die den Result Set
identifiziert und die in einem nachfolgenden Die Reihenfolge der Result-Set-Werte entspricht der Reihenfolge der von der Stored Procedure zurückgegebenen Result Sets. Der Inhalt der Result Sets kann von einem nachfolgenden Wenn kein Result Set zurückgegeben wird, enthält die entsprechende
Result-Set-Variable den Wert Null ( Es können mehrere Result Sets angegeben werden. Siehe auch Result Sets (im Teil Natural for Db2 in der Datenbankmanagementsystem-Schnittstellen-Dokumentation). |
|
GIVING
sqlcode
|
GIVING
sqlcode-Option:
Diese Option können Sie benutzen, um den SQLCODE des SQL
Wenn Sie diese Option angeben und der SQLCODE der Stored Procedure ist ungleich
Null ( Das Wenn Sie die Option |
|
CALLMODE=
|
CALLMODE-Parameter:
Mögliche Angaben: |
|
CALLMODE=NATURAL |
Diese Angabe gilt, wenn die Stored Procedure ein
Natural-Subprogramm ist, das mit PARAMETER STYLE GENERAL oder
PARAMETER STYLE GENERAL WITH NULL definiert ist, sonst geben Sie
NONE (Standardwert) an.
Diese Angabe wirkt sich auch auf interne Parameter aus, die an die bzw. von der Stored Procedure übergeben werden; siehe CALLMODE=NATURAL (im Abschnitt CALLDBPROC der Natural for Db2-Dokumentation). |
|
CALLMODE=NONE |
Dies ist die Standardeinstellung. | |
Das folgende Beispiel zeigt ein Natural-Programm, das die Stored Procedure
DEMO_PROC aufruft, um alle zu einem gegebenen Bereich gehörenden Namen der
Tabelle PERSON abzurufen.
Drei Parameter-Felder werden an DEMO_PROC übergeben: der erste und zweite
Parameter übergeben jeweils Start- und Endewerte des Bereichs von Namen an die Stored
Procedure, und der dritte Parameter nimmt einen Namen auf, der das Kriterium erfüllt.
In diesem Beispiel werden die Namen in einem Result Set zurückgegeben, der mit dem
READ RESULT SET
verarbeitet wird.
DEFINE DATA LOCAL
1 PERSON VIEW OF DEMO-PERSON
2 PERSON_ID
2 LAST_NAME
1 #BEGIN (A2) INIT <'AB'>
1 #END (A2) INIT <'DE'>
1 #RESPONSE (I4)
1 #RESULT (I4)
1 #NAME (A20)
END-DEFINE
...
CALLDBPROC 'DEMO_PROC' DEMO-PERSON #BEGIN (AD=O) #END (AD=O) #NAME (AD=A)
RESULT SETS #RESULT
GIVING #RESPONSE
READ RESULT SET #RESULT INTO #NAME FROM DEMO-PERSON
GIVING #RESPONSE
DISPLAY #NAME
END-RESULT
...
END
Weitere Beispiele siehe Example of CALLDBPROC/READ RESULT SET im Abschnitt CALLDBPROC in der Natural for Db2-Dokumentation.