Heim > Datenbank > Oracle > Hauptteil

Lassen Sie uns über die Verwendung von Ausgabeparametern in gespeicherten Oracle-Prozeduren sprechen

PHPz
Freigeben: 2023-04-04 10:57:50
Original
1990 Leute haben es durchsucht

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.

Was sind Ausgabeparameter?

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.

Ausgabeparameter deklarieren und verwenden

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;
/
Nach dem Login kopieren

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;
/
Nach dem Login kopieren

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!
Nach dem Login kopieren

OUTPUT-Schlüsselwort

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;
/
Nach dem Login kopieren

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;
/
Nach dem Login kopieren

Zusammenfassung

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!