Oracle 呼び出しストアド プロシージャのパラメータ設定方法についての詳細な説明

PHPz
リリース: 2023-04-17 14:06:16
オリジナル
1843 人が閲覧しました

Oracle データベースのストアド プロシージャ呼び出しは、一般的なデータベース操作テクノロジであり、実際のアプリケーションでよく使用されます。 Oracle データベースを使用してストアド プロシージャを呼び出す場合は、ニーズに合わせてパラメータを設定する必要があります。この記事では、Oracle がストアド プロシージャを呼び出すパラメータ設定方法について詳しく説明します。

1. ストアド プロシージャの定義

ストアド プロシージャは、Oracle データベースに保存されている PL/SQL 言語プログラム コードの一部であり、特定のデータベース操作タスクを完了するために使用されます。ストアド プロシージャは通常、複数のアプリケーションで共有されるため、データベース アプリケーションの効率とセキュリティが向上します。

2. ストアド プロシージャのパラメータ

ストアド プロシージャのパラメータは、ストアド プロシージャに渡される変数を参照します。パラメータは、入力パラメータ、出力パラメータ、入出力パラメータの 3 種類に分類できます。

1. 入力パラメータ

入力パラメータはストアド プロシージャの入力データ ソースとして使用され、ストアド プロシージャの計算と処理に使用できます。入力パラメータには、文字列、数値、日付、カーソルなど、任意の有効なデータ型を使用できます。

ストアド プロシージャで入力パラメータを定義するための構文は次のとおりです。

CREATE PROCEDURE procedure_name(
   input_parameter1 datatype,
   input_parameter2 datatype,
   ...
)
ログイン後にコピー

このうち、datatype は入力パラメータのデータ型、input_parameter1 は入力パラメータの名前です。複数の入力パラメータはカンマで区切られます。

2. 出力パラメータ

出力パラメータはストアド プロシージャの処理結果であり、処理結果は出力パラメータを通じて呼び出し元に返されます。出力パラメータには、文字列、数値、日付、カーソルなど、任意のデータ型を使用できます。

ストアド プロシージャで出力パラメータを定義するための構文は次のとおりです。

CREATE PROCEDURE procedure_name(
   output_parameter1 OUT datatype,
   output_parameter2 OUT datatype,
   ...
)
ログイン後にコピー

このうち、OUT キーワードは、パラメータが出力パラメータであることを示します。 datatype は出力パラメータのデータ型で、output_parameter1 は出力パラメータの名前です。複数の出力パラメータはカンマで区切られます。

3. 入出力パラメータ

入出力パラメータは、データを転送し、処理結果を返すために使用されます。ストアド プロシージャで入出力パラメータを定義する構文は次のとおりです。

CREATE PROCEDURE procedure_name(
   in_out_parameter1 IN OUT datatype,
   in_out_parameter2 IN OUT datatype,
   ...
)
ログイン後にコピー

このうち、IN キーワードはパラメータが入力パラメータであることを示し、OUT キーワードはパラメータが出力パラメータであることを示します。 。 datatype は入出力パラメータのデータ型、in_out_parameter1 は入出力パラメータの名前です。複数の入出力パラメータはカンマで区切られます。

3. ストアド プロシージャの呼び出し

Oracle データベースを使用してストアド プロシージャを呼び出す場合は、ストアド プロシージャのパラメータを設定する必要があります。 Oracle がストアド プロシージャを呼び出すための構文は次のとおりです。

EXECUTE procedure_name(input_parameter1, input_parameter2, ..., output_parameter1, output_parameter2, ...)
ログイン後にコピー

このうち、EXECUTE はストアド プロシージャを実行するためのキーワード、procedure_name はストアド プロシージャの名前、input_parameter1、input_parameter2 などが入力されます。パラメータであり、output_parameter1、output_parameter2 などが出力パラメータです。

ストアド プロシージャを呼び出す場合、パラメータはストアド プロシージャで定義されたパラメータ順序に従って順番に渡される必要があり、出力パラメータは入力パラメータの後にある必要があり、そうでない場合は呼び出しが終了することに注意してください。失敗します。

4. 例

以下は、価格と出力に基づいてテーブル内のデータを小さいものから大きいものに並べ替えるのに使用される簡単な Oracle ストアド プロシージャの例です。このストアド プロシージャを呼び出すときは、テーブル名と出力カーソルを渡す必要があります。

CREATE OR REPLACE PROCEDURE sort_table(
   input_table_name IN VARCHAR2,
   output_cursor OUT SYS_REFCURSOR
)
IS
BEGIN
   OPEN output_cursor FOR
      SELECT * FROM input_table_name ORDER BY price ASC;
END;
ログイン後にコピー

上記のステートメントは、my_table テーブル内のデータを価格順に小さいものから大きいものに並べ替え、my_cursor という名前のカーソルに格納します。後続のデータをすべてソートして出力します。

5. 概要

Oracle はストアド プロシージャを呼び出すときにパラメータを設定する必要がありますが、これは入力パラメータ、出力パラメータ、入出力パラメータによって実現できます。ストアド プロシージャを呼び出す場合、ストアド プロシージャで定義されたパラメータの順序に従って、パラメータを順番に渡す必要があります。この記事では、Oracle がストアド プロシージャを呼び出す際のパラメータ設定方法を詳しく紹介しますので、読者の参考になれば幸いです。

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

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