Wie kann ich denn beim Aufruf einer Prozedur den/die output
parameter übergeben?
Die Frage ist nicht wie - sondern wohin. Die Parameterwerte von OUT und INOUT Parametern müssen nämlich an Variablen übergeben werden. Nun hast du also 2 Möglichkeiten :
1. PL/SQL-Variablen + anonymer Block
DECLARE
v_dummy NUMBER; – oder anderer Datentyp
BEGIN
my_proc(1234, v_dummy); – Prozeduraufruf
dbms_output.put_line(v_dummy); – oder sonstige Weiterverarbeitung
END;
/
2. Bind/Host-Variablen (am Beispiel SQL*Plus)
variable v_dummy NUMBER – NUMBER ohne Längenangabe !!!
execute my_proc(1234, v_dummy) – Prozeduraufruf
print v_dummy – oder sonstige Weiterverarbeitung
Ich habe also jeweils eine Variable erstellt und dieser den Parameterwert zugewiesen. Die Zuweisung kann auch hier positional oder namentlich erfolgen.
Noch Fragen ? Dann immer her damit !
Gruss
der Janus
PS: Welches Buch hast du den gelesen ?