Oracle データベースでは、ストアド プロシージャは、入力パラメータを受け取り、出力パラメータを返すことができる繰り返し可能な SQL コードのブロックです。これは関数に似ていますが、ストアド プロシージャをデータベース内で呼び出して実行できる点が異なり、より複雑でスケーラブルなアプリケーションが可能になります。この記事では、簡単な Oracle ストアド プロシージャの作成方法を紹介し、実際のアプリケーションでストアド プロシージャを使用する方法を示します。
ストアド プロシージャの作成
Oracle では、ストアド プロシージャを作成するには次の手順が必要です。
ストレージ プロセスの構造には、プロセス名、入力パラメータ、出力パラメータ、プロセス本体の定義が含まれます。次に、単純な Oracle ストアド プロシージャ構造の例を示します。
CREATE OR REPLACE PROCEDURE get_employee_salaries (id IN NUMBER、salary OUT NUMBER)
IS
BEGIN
SELECT給与 INTO給与 FROM従業員WHEREemployee_id = id;
END;
上記の例では、get_employee_salaries はプロセスの名前、id は入力パラメータ、salary は出力パラメータです。
プロセス本体は、ストアド プロシージャ内の実際のロジックです。この例では、プロセス本体は入力パラメーター ID を使用して、employees テーブルから給与をクエリし、その結果を出力パラメーター Salary に保存します。
ストアド プロシージャを作成する SQL コードをデータベースに書き込んだ後、コードをコンパイルする必要があります。 Oracle では、これは次のコマンドで実行できます:
SQL> CREATE OR REPLACE PROCEDURE get_employee_salaries (id IN NUMBER,給与 OUT NUMBER)
IS
BEGIN
SELECT給与 INTO給与 FROM従業員WHEREemployee_id = id;
END;
/
このコマンドは、get_employee_salaries という名前のストアド プロシージャを作成します。
ストアド プロシージャの使用方法
ストアド プロシージャを作成したら、アプリケーション内で使用して、必要に応じて呼び出すことができます。上記の例でストアド プロシージャを呼び出す方法の例を次に示します。
DECLARE
emp_salary NUMBER;
BEGIN
get_employee_salaries(100, emp_salary);
DBMS_OUTPUT.PUT_LINE( '従業員 100 人の収入 ' || TO_CHAR(emp_salary));
END;
このコードは、ストアド プロシージャ get_employee_salaries を呼び出し、id 入力パラメーターとして 100 を使用します。結果を emp_salary に保存し、出力に表示します。正常に実行されると、出力は次のようになります。
従業員 100 人の収入 4400
この例は、単純な Oracle ストアド プロシージャの例を示しているだけです。実際、ストアド プロシージャは多くの複雑なタスクを実行し、データベースのスケーラビリティと再現性を実現できます。たとえば、ストアド プロシージャを使用して、複雑なデータ変換、データ クリーニング、レポート生成、ビジネス プロセスの自動化などのタスクを実装できます。
概要
Oracle ストアド プロシージャは、データベース アプリケーションをより柔軟、スケーラブル、効率的にできる非常に強力で便利なツールです。この記事では、単純な Oracle ストアド プロシージャを作成して使用する方法を説明します。実際、ストアド プロシージャはより複雑なタスクを実行し、データベース アプリケーションに強力な機能を提供できます。したがって、Oracle ストアド プロシージャを学習して習得することは、すべてのデータベース開発者が習得しなければならないスキルの 1 つです。
以上がOracle ストアド プロシージャの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。