Oracle データベースでは、ストアド プロシージャは、入力パラメータを受け取り、一連の計算または操作を実行して結果を返すことができる再利用可能なプログラム モジュールです。ストアド プロシージャは、特定のタスクを実行するために、複数のアプリケーションまたはユーザーによって繰り返し呼び出すことができます。
ストアド プロシージャでは、変数の割り当ては非常に一般的な操作です。変数には、数値、文字、日付などの有効な PL/SQL データ型を使用できます。この記事では、Oracle ストアド プロシージャで変数の割り当てを実行する方法を紹介します。
ストアド プロシージャで変数を宣言する場合は、変数のデータ型と名前を指定する必要があります。変数を宣言する構文は次のとおりです。
DECLARE variable_name data_type; BEGIN -- statements END;
このうち、variable_name
は変数名、data_type
は変数のデータ型です。一般的に使用されるデータ型の一部を次に示します。
VARCHAR2(size)
: 文字列型。size
は文字列の長さを表します。 NUMBER(p, s)
: 数値タイプ。p
は数値の合計桁数を表し、s
は桁数を表します。 10 進数。 DATE
: 日付タイプ。日付を YYYY-MM-DD 形式で保存します。 次に、3 つの変数を宣言する簡単な例を示します。
DECLARE var1 VARCHAR2(20); var2 NUMBER(10,2); var3 DATE; BEGIN -- statements END;
ストアド プロシージャでは、 :=
演算子を使用して、変数を式、定数、関数、または別の変数の値に代入します。変数の割り当て構文は次のとおりです。
variable_name := expression;
次に、定数を変数に割り当てる例を示します。
DECLARE var1 VARCHAR2(20); BEGIN var1 := 'Hello, World!'; END;
SELECT INTO ステートメントを使用して、データベースからデータを取得することもできます。テーブル、および変数にデータを保存します。以下に、テーブルからデータ行を取得して変数に格納する簡単な例を示します。
DECLARE var1 VARCHAR2(20); BEGIN SELECT column_name INTO var1 FROM table_name WHERE rownum = 1; END;
ストアド プロシージャでは、パラメータを渡すことによって変数値を取得することもできます。以下は、パラメーターを受け取って変数に割り当てる簡単な例です。
CREATE PROCEDURE proc_name (IN param1 VARCHAR2) IS var1 VARCHAR2(20); BEGIN var1 := param1; -- other statements END;
上記の例では、ストアド プロシージャは文字列値をパラメーター param1
として受け取り、それを変数に割り当てます。 var1
変数。
代入が完了すると、ストアド プロシージャ内で比較、演算、出力、その他の操作などの変数を使用できるようになります。以下は、2 つの変数の値が等しいかどうかを比較する簡単な例です:
DECLARE var1 VARCHAR2(20) := 'Hello'; var2 VARCHAR2(20) := 'World'; BEGIN IF var1 = var2 THEN DBMS_OUTPUT.PUT_LINE('The variables are equal.'); ELSE DBMS_OUTPUT.PUT_LINE('The variables are not equal.'); END IF; END;
上記の例では、IF ステートメントを使用して 2 つの変数の値を比較し、それらが等しい場合は、メッセージが出力されます。
概要:
ストアド プロシージャでは、変数の割り当てはデータを保存および操作するための重要な操作です。この記事では、ストアド プロシージャでの変数の宣言、代入、使用の基本的な構文と例を紹介します。ぜひ、独自のストアド プロシージャを作成してみてください。
以上が変数割り当てのための Oracle ストアド プロシージャの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。