PL/SQL は Oracle データベースのプログラミング言語であり、ストアド プロシージャ、トリガー、関数、パッケージなどの作成に使用できます。この記事では、Oracle が PL/SQL をどのように使用するかを紹介します。
1. ストアド プロシージャを作成する
ストアド プロシージャは SQL ステートメントの集合であり、カスタム関数とみなすことができます。ストアド プロシージャを使用すると、複雑な SQL クエリが簡素化され、データベースのパフォーマンスが向上します。
Oracle では、ストアド プロシージャを作成するための構文は次のとおりです。
CREATE OR REPLACE PROCEDURE procedure_name (parameter1 datatype, parameter2 datatype,....) IS BEGIN statement1; statement2; ... END; /
ここで、CREATE OR REPLACE PROCEDURE はストアド プロシージャの作成または置換を表し、procedure_name はストアド プロシージャの名前を表します。parameter1およびparameter2は入力パラメータであり、datatypeはパラメータのデータ型を示します。 IS と BEGIN の間にはストアド プロシージャの主要部分があり、一連の SQL ステートメントが含まれています。 END はストアド プロシージャの終了を示します。
次は、2 つの数値の合計を計算する簡単なストアド プロシージャの例です。
CREATE OR REPLACE PROCEDURE addition (num1 IN NUMBER, num2 IN NUMBER, sum OUT NUMBER) IS BEGIN sum := num1 + num2; END; /
上の例では、addition がストアド プロシージャの名前であり、num1 と num2 はその 2 つの数値です。 inputs パラメータ、sum は出力パラメータです。ストアド プロシージャの主要部分で、 sum := num1 num2; ステートメントを使用して 2 つの数値の合計を計算し、その結果を出力パラメーターの sum に割り当てます。
2. トリガーの作成
トリガーとは、データベース内で自動的に実行されるプログラムで、データベースに対するさまざまな操作 (データの挿入、更新、削除など) を行うときに使用できます。トリガーイベントが発生します。トリガーは、データの監査とログ記録によく使用されます。
Oracle では、トリガーを作成するための構文は次のとおりです。
CREATE OR REPLACE TRIGGER trigger_name BEFORE/AFTER INSERT/UPDATE/DELETE ON table_name FOR EACH ROW BEGIN statement1; statement2; ... END; /
このうち、CREATE OR REPLACE TRIGGER はトリガーの作成または置換を表し、trigger_name はトリガーの名前を表し、BEFORE はトリガーの名前を表します。 /AFTER はトリガー時間を表します。INSERT/UPDATE/DELETE は文字をトリガーする操作を示し、table_name はトリガーに対応するテーブルを示し、FOR EACH ROW はトリガー内のステートメントがデータ行ごとに実行されることを示します。
以下は、データの挿入時に挿入時間を記録するための簡単なトリガーの例です:
CREATE OR REPLACE TRIGGER insert_time BEFORE INSERT ON customer FOR EACH ROW BEGIN :new.created_at := sysdate; END; /
上の例では、insert_time はトリガーの名前であり、BEFORE INSERT はデータが挿入されたときのことを意味します。が挿入されます。 トリガーを実行する前に、customer はトリガーに対応するテーブル名です。トリガーの主要部分で、 new.created_at := sysdate; ステートメントを使用して、挿入されたデータの created_at フィールドに現在時刻を割り当てます。
3. 関数の作成
関数は、0 個以上のパラメータを入力として受け入れ、出力として値を返すことができる戻り値を持つ PL/SQL プログラム ユニットです。関数を使用すると、ロジックの一部をカプセル化でき、コードがより読みやすく、保守しやすくなります。
Oracle では、関数を作成するための構文は次のとおりです。
CREATE OR REPLACE FUNCTION function_name (return_type IN OUT datatype, parameter1 datatype, parameter2 datatype,....) RETURN return_datatype IS BEGIN statement1; statement2; ... RETURN return_value; END; /
このうち、CREATE OR REPLACE FUNCTION は関数の作成または置換を意味し、function_name は関数の名前を意味し、return_type は関数の名前を意味します。戻り値のタイプ、parameter1、parameter2 は入力パラメータ、datatype はパラメータのデータ型を示し、RETURN return_datatype は戻り値のデータ型を示します。関数の本体で RETURN return_value ステートメントを使用して、計算結果を呼び出し元に返します。
以下は、2 つの数値の積を計算する簡単な関数の例です。
CREATE OR REPLACE FUNCTION multiplication(x IN NUMBER, y IN NUMBER) RETURN NUMBER IS BEGIN RETURN x * y; END; /
上の例では、乗算が関数の名前であり、x と y は 2 つの入力パラメーターです。 RETURN NUMBER は、戻り値のデータ型が NUMBER であり、戻り値が x*y の結果であることを意味します。
4. パッケージの作成
パッケージは、PL/SQL プログラム単位のセットを格納するプログラム モジュールであり、関数、ストアド プロシージャ、変数、定数などの関連するプログラム単位をカプセル化できます。 1つのパッケージにまとめました。パッケージを使用すると、プログラムがより読みやすく、保守しやすくなります。
Oracle では、パッケージを作成するための構文は次のとおりです。
CREATE OR REPLACE PACKAGE package_name IS /* 声明变量、常量和异常 */ ... /* 声明存储过程和函数 */ PROCEDURE procedure_name; FUNCTION function_name RETURN NUMBER; END; / CREATE OR REPLACE PACKAGE BODY package_name IS /* 实现存储过程和函数 */ PROCEDURE procedure_name IS BEGIN /* 存储过程的逻辑处理 */ END; FUNCTION function_name RETURN NUMBER IS BEGIN /* 函数的逻辑处理 */ RETURN 0; END; END; /
このうち、CREATE OR REPLACE PACKAGE はパッケージの作成または置換を意味し、package_name はパッケージの名前を意味し、IS はパッケージの名前を意味しますEND はパッケージの宣言部分を意味し、END はパッケージの終了を意味し、CREATE OR REPLACE PACKAGE BODY はパッケージ本体の作成または置換を意味し、package_name はパッケージの名前を意味します。
上記は、Oracle による PL/SQL の使用方法の簡単な紹介です。PL/SQL を通じて、ストアド プロシージャ、トリガー、関数、パッケージなどのプログラム ユニットを作成し、データベース操作や論理処理を実装できます。
以上がOracle による PL/SQL の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。