ホームページ  >  記事  >  データベース  >  Oracle ストアド プロシージャの構文

Oracle ストアド プロシージャの構文

PHPz
PHPzオリジナル
2023-05-07 20:29:36946ブラウズ

Oracle データベースでは、ストアド プロシージャは、データベースに保存し、名前によって呼び出すことができる、事前定義された PL/SQL コード ブロックのセットです。内部にビジネス ロジックを含めることができるため、データベース開発者はコードを再利用してデータベース アクセスのオーバーヘッドを削減できます。 Oracle ストアド プロシージャの構文は次のとおりです。

  1. ストアド プロシージャの作成

ストアド プロシージャを作成するには、CREATE PROCEDURE ステートメントを使用する必要があります。次に、ストアド プロシージャの作成例を示します。

CREATE PROCEDURE プロシージャ名
( パラメータ名 [IN | OUT | IN OUT] データ型 [, ...] )
[IS | AS]
BEGIN
-- プロシージャ本体
END;

このステートメントでは、procedure_name はストアド プロシージャの名前、parameter_name はストアド プロシージャに渡されるパラメータ名とデータ型です。パラメータは IN、OUT、または IN OUT タイプにすることができ、それぞれ入力パラメータ、出力パラメータ、または入出力パラメータを表します。具体的な詳細は次のとおりです:

  • IN: 入力パラメータを示し、参照のみ可能;
  • OUT: 出力パラメータを示し、初期値は NULL であり、ストアド プロシージャ;
  • IN OUT: ストアド プロシージャで初期値を割り当てる必要がある入力パラメータと出力パラメータを示します。
  1. ストアド プロシージャ本体

ストアド プロシージャ本体は、ストアド プロシージャ コードの本体です。これは、BEGIN キーワードと END キーワードで囲まれたコードのブロックです。以下は、ストアド プロシージャ本体の例です。

BEGIN
-- いくつかの操作を実行します
SELECT * FROM my_table WHERE some_column =parameter_name;
-- その他の操作
END;

この例では、ストアド プロシージャ本体は最初にいくつかの操作を実行し、次に my_table テーブルから列名がparameter_nameの値を選択し、さらに操作を実行した後に終了します。

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

ストアド プロシージャは 0 個以上のパラメータを受け入れることができるため、プロシージャを作成するときは、ストアド プロシージャのパラメータ リストを定義する必要があります。次に、ストアド プロシージャ パラメータの例を示します。

CREATE PROCEDURE my_proc
(val1 NUMBER, val2 VARCHAR2)
IS
BEGIN
-- プロシージャ本体
END;

この例では、ストアド プロシージャ my_proc は 2 つのパラメータ val1 と val2 を受け入れます。それらの型はそれぞれ NUMBER と VARCHAR2 です。

  1. ストアド プロシージャの戻り値

ストアド プロシージャは戻り値を持つことができます。 Oracle では、戻り値は OUT パラメーターを使用して実装できます。以下は、戻り値を持つストアド プロシージャの例です:

CREATE PROCEDURE my_proc
(val1 NUMBER, val2 NUMBER, result OUT NUMBER)
IS
BEGIN
result : = val1 val2 ;
END;

この例では、ストアド プロシージャ my_proc は 2 つの入力パラメータ val1 と val2 を受け取り、OUT パラメータの結果を通じてそれらの合計を返します。

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

ストアド プロシージャは、他の PL/SQL ブロックで呼び出すことができます。次に、ストアド プロシージャを呼び出す例を示します。

DECLARE
result NUMBER;
BEGIN
my_proc(5, 10, result);
DBMS_OUTPUT.PUT_LINE('Result is : ' || result);
END;

この例では、ストアド プロシージャ my_proc は 2 つのパラメータ val1 と val2 を受け取り、OUT パラメータの結果を使用してそれらの合計を返します。ストアド プロシージャを呼び出すときに、val1、val2、result 変数を渡し、結果を出力します。

結論

Oracle データベースでは、ストアド プロシージャはデータの処理と管理において重要な役割を果たす強力なツールです。パフォーマンスの向上に加えて、データのセキュリティ、信頼性、再利用性も向上します。データベース管理者と開発者は、ストアド プロシージャの構文と使用法をマスターすることで、作業効率とデータベースのパフォーマンスを大幅に向上させることができます。

以上がOracle ストアド プロシージャの構文の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。