ホームページ > データベース > Oracle > Oracle ストアド プロシージャで出力パラメータを使用する方法

Oracle ストアド プロシージャで出力パラメータを使用する方法

PHPz
リリース: 2023-04-04 10:02:20
オリジナル
3135 人が閲覧しました

Oracle ストアド プロシージャは、一連の SQL ステートメントをアプリケーションで使用する反復可能な実行ユニットに結合する特別な PL/SQL プログラムです。ストアド プロシージャには、入力、出力、または双方向パラメータを含めることができます。この記事では、Oracle ストアド プロシージャで出力パラメータを使用する方法について説明します。

Oracle では、ストアド プロシージャの一般的な用途には、複雑なデータ操作、カスタム検証、データ変換などの実行が含まれます。計算結果またはクエリ結果を呼び出し元に返す場合は、ストアド プロシージャの出力パラメーターを使用する必要があります。

  1. 出力パラメータの宣言

ストアド プロシージャで出力パラメータを宣言するには、OUT キーワードを使用する必要があります。例:

CREATE OR REPLACE PROCEDURE test_proc(out_param OUT VARCHAR2)
ログイン後にコピー

where " out_param" はパラメータ名、VARCHAR2 はパラメータのタイプです。

  1. 出力パラメーター値の設定

次に、次のステートメントを使用して、ストアド プロシージャの出力パラメーターの値を設定できます:

out_param := '这是输出参数的值';
ログイン後にコピー

出力パラメータの値はストアド プロシージャのメイン部分に配置する必要があることに注意してください。例:

CREATE OR REPLACE PROCEDURE test_proc(out_param OUT VARCHAR2) IS
BEGIN
  out_param := '这是输出参数的值';
END;
ログイン後にコピー
  1. ストアド プロシージャの呼び出し

Whenストアド プロシージャには出力パラメータがあるため、それを呼び出す必要があります。プロシージャを保存するときに、出力結果を保存する変数を指定します。例:

DECLARE
  output_value VARCHAR2(100);
BEGIN
  test_proc(output_value);
  -- 使用output_value变量的值
END;
ログイン後にコピー

ストアド プロシージャを呼び出すときは、出力パラメータの場所を指定する必要があり、変数の型は出力パラメータの型と同じである必要があります。

  1. ストアド プロシージャの出力パラメーターの例

以下の簡単な例を見てください。ストアド プロシージャを使用して 2 つの数値を加算し、結果を出力パラメーターに保存します。 ##

CREATE OR REPLACE PROCEDURE add_proc(x IN NUMBER, y IN NUMBER, sum OUT NUMBER) IS
BEGIN
  sum := x + y;
END;
ログイン後にコピー
上の例では、x、y、sum の 3 つのパラメータを定義しました。最初の 2 つのパラメーターは入力パラメーターであり、sum は出力パラメーターです。次に、ストアド プロシージャを呼び出す例を示します。

DECLARE
  result NUMBER;
BEGIN
  add_proc(4, 5, result);
  DBMS_OUTPUT.PUT_LINE('4 + 5 = ' || result);
END;
ログイン後にコピー
上記のコードを実行すると、出力結果は「4 5 = 9」になります。

    概要
ストアド プロシージャの出力パラメーターを使用すると、計算結果やクエリ結果を呼び出し元に返すことができます。これは、大規模なシステムを構築する場合に非常に役立ちます。複雑なアプリケーション。出力パラメータを宣言する場合は、OUT キーワードを使用し、ストアド プロシージャに出力パラメータ値を設定する必要があります。また、ストアド プロシージャを呼び出す場合は、出力結果を格納する変数を指定する必要があります。

以上がOracle ストアド プロシージャで出力パラメータを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート