CALLDBPROC
dbproc
ddm-name
|
|||||||||||||
M
|
|||||||||||||
[USING ]
|
parameter |
AD=
|
O
|
||||||||||
A
|
|||||||||||||
[RESULT SETS
result-set]
|
|||||||||||||
[GIVING
sqlcode]
|
|||||||||||||
CALLMODE =
|
NONE
|
||||||||||||
NATURAL
|
Dieses Dokument 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 Database Management System Interfaces-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 Database Management System Interfaces-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.