Gespeicherte Prozeduren von Oracle sind vorkompilierte Codesegmente, deren Zweck darin besteht, bestimmte Geschäftslogik oder Verarbeitungsvorgänge der Datenbank zu implementieren. In gespeicherten Oracle-Prozeduren werden häufig Parameter für die Eingabe und Ausgabe benötigt, und die Verwendung von Ausgabeparametern ist weit verbreitet. In diesem Artikel wird die Verwendung von Ausgabeparametern in gespeicherten Oracle-Prozeduren ausführlich vorgestellt.
Die Ausgabeparameter in gespeicherten Oracle-Prozeduren beziehen sich auf die Rückgabe bestimmter Daten an den Aufrufer, nachdem die Ausführung der gespeicherten Prozedur beendet ist. Einfach ausgedrückt sind die Ausgabeparameter die Berechnungsergebnisse oder Statuswerte der gespeicherten Prozedur. Diese Ergebnisse können Zahlen, Zeichenfolgen, Datumsangaben und andere Arten von Daten sein.
In gespeicherten Oracle-Prozeduren sind die Deklaration und Verwendung von Ausgabeparametern relativ einfach. In einer gespeicherten Prozedur können Sie das Schlüsselwort OUT verwenden, um Ausgabeparameter zu deklarieren. Das Folgende ist ein einfaches Beispiel für eine gespeicherte Prozedur, in der zwei Ausgabeparameter deklariert werden: out_num und out_str.
CREATE OR REPLACE PROCEDURE my_procedure (in_param1 IN NUMBER, in_param2 IN VARCHAR2, out_num OUT NUMBER, out_str OUT VARCHAR2) IS BEGIN /* 在存储过程中进行计算 */ out_num := in_param1 * 10; out_str := in_param2 || ' World!'; END; /
Im obigen Beispiel akzeptiert die gespeicherte Prozedur zwei Eingabeparameter: in_param1 und in_param2 und weist die Ausführungsergebnisse zwei Ausgabeparametern zu: out_num und out_str. Wenn die gespeicherte Prozedur aufgerufen wird, werden die tatsächlichen Parameter über die Schlüsselwörter IN und OUT an die gespeicherte Prozedur übergeben.
Der Code zum Aufrufen des obigen Beispiels für eine gespeicherte Prozedur lautet wie folgt:
DECLARE result_num NUMBER; result_str VARCHAR2(50); BEGIN /* 调用存储过程 */ my_procedure(5, 'Hello', result_num, result_str); /* 输出结果 */ DBMS_OUTPUT.PUT_LINE('result_num = ' || result_num); DBMS_OUTPUT.PUT_LINE('result_str = ' || result_str); END; /
Wie Sie sehen können, werden die tatsächlichen Parameter 5 und „Hallo“ an die gespeicherte Prozedur übergeben und die Berechnungsergebnisse werden an result_num und result_str zurückgegeben Ausgabeparameter, und die Ergebnisse werden über DBMS_OUTPUT ausgegeben. Das Ausführen des obigen Codes führt zu den folgenden Ergebnissen:
result_num = 50 result_str = Hello World!
In Versionen vor Oracle 12c kann das OUT-Schlüsselwort nicht zum Deklarieren von Ausgabeparametern verwendet werden und es muss das OUTPUT-Schlüsselwort verwendet werden. Das Folgende ist ein Beispiel einer gespeicherten Prozedur, die das Schlüsselwort OUTPUT verwendet, um Ausgabeparameter zu deklarieren:
CREATE OR REPLACE PROCEDURE my_procedure (in_param1 IN NUMBER, in_param2 IN VARCHAR2, result_num OUT NUMBER, result_str OUT VARCHAR2) IS BEGIN /* 在存储过程中进行计算 */ result_num := in_param1 * 10; result_str := in_param2 || ' World!'; END; /
Der obige Code deklariert zwei Ausgabeparameter: result_num und result_str. Nachdem die gespeicherte Prozedur ausgeführt wurde, werden die Berechnungsergebnisse diesen beiden Ausgabeparametern zugewiesen und an den Aufrufer zurückgegeben.
Der Code zum Aufrufen eines Beispiels für eine gespeicherte Prozedur mit dem Schlüsselwort OUTPUT lautet wie folgt:
DECLARE v_num NUMBER; v_str VARCHAR2(50); BEGIN /* 调用存储过程 */ my_procedure(5, 'Hello', v_num, v_str); /* 输出结果 */ DBMS_OUTPUT.PUT_LINE('v_num = ' || v_num); DBMS_OUTPUT.PUT_LINE('v_str = ' || v_str); END; /
In gespeicherten Oracle-Prozeduren sind Ausgabeparameter ein leistungsstarkes Werkzeug, das Berechnungsergebnisse und Statuswerte an den Aufrufer zurückgeben kann. Das Deklarieren und Verwenden von Ausgabeparametern ist sehr einfach. Verwenden Sie einfach das Schlüsselwort OUT oder OUTPUT direkt in der gespeicherten Prozedur. In der tatsächlichen Entwicklung können Ausgabeparameter häufig zur Datenverarbeitung und Vereinfachung des Codes verwendet werden.
Das obige ist der detaillierte Inhalt vonLassen Sie uns über die Verwendung von Ausgabeparametern in gespeicherten Oracle-Prozeduren sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!