Oracle ストアド プロシージャは、データベースの特定のビジネス ロジックや処理操作を実装することを目的とした、事前にコンパイルされたコード セグメントです。 Oracle ストアド プロシージャでは、入出力にパラメータが必要になることが多く、出力パラメータの使用は非常に一般的です。この記事では、Oracle ストアド プロシージャでの出力パラメータの使用方法を詳しく紹介します。
Oracle ストアド プロシージャの出力パラメータとは、ストアド プロシージャの実行終了後に呼び出し元に特定のデータを返すことを指します。簡単に言うと、出力パラメーターはストアド プロシージャの計算結果またはステータス値であり、これらの結果には数値、文字列、日付、その他の種類のデータが含まれます。
Oracle ストアド プロシージャでは、出力パラメータの宣言と使用は比較的簡単です。ストアド プロシージャでは、OUT キーワードを使用して出力パラメータを宣言できます。以下は、out_num と out_str という 2 つの出力パラメーターが宣言されている簡単なストアド プロシージャの例です。
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; /
上の例では、ストアド プロシージャは 2 つの入力パラメータ in_param1 と in_param2 を受け入れ、実行結果を 2 つの出力パラメータ out_num と out_str に割り当てます。ストアド プロシージャが呼び出されるとき、実際のパラメータは IN および OUT キーワードを通じてストアド プロシージャに渡されます。
上記のストアド プロシージャの例を呼び出すコードは次のとおりです。
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; /
ご覧のとおり、実際のパラメータ 5 と 'Hello' がストアド プロシージャに渡され、計算結果が返されます。結果は result_num および result_str 出力パラメータに返され、 DBMS_OUTPUT を通じて結果が出力されます。上記のコードを実行すると、次の結果が得られます。
result_num = 50 result_str = Hello World!
Oracle 12c より前のバージョンでは、OUT キーワードを使用して出力パラメータを宣言することはできませんが、OUTPUT キーワードは使用済み 。以下は、OUTPUT キーワードを使用して出力パラメーターを宣言するストアド プロシージャの例です。
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; /
上記のコードは、result_num と result_str という 2 つの出力パラメーターを宣言しています。ストアド プロシージャの実行後、計算結果はこれら 2 つの出力パラメータに割り当てられ、呼び出し元に返されます。
OUTPUT キーワードを使用してストアド プロシージャの例を呼び出すコードは次のとおりです。
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; /
Oracle ストアド プロシージャでは、出力パラメータは次の結果を返すことができる強力なツールです。計算結果とステータス値を呼び出し元に送信します。出力パラメータの宣言と使用は非常に簡単で、ストアド プロシージャで OUT または OUTPUT キーワードを直接使用するだけです。実際の開発では、多くの場合、出力パラメーターを使用してデータを処理し、コードを簡素化できます。
以上がOracle ストアド プロシージャでの出力パラメータの使用について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。