ホームページ  >  記事  >  データベース  >  Oracle がストアド プロシージャを呼び出す方法

Oracle がストアド プロシージャを呼び出す方法

PHPz
PHPzオリジナル
2023-04-17 15:21:165961ブラウズ

Oracle は効率的なリレーショナル データベース管理システムです。エンタープライズ レベルのアプリケーション開発では、ストアド プロシージャは非常に重要な部分です。 Oracle では、ストアド プロシージャはデータベース サーバー上で実行できるプログラム単位です。 PL/SQL を通じて記述でき、多数の論理処理とトランザクション制御をサポートし、複数の SQL ステートメントを 1 つのセットに結合できます。

実際の開発や運用保守では、Oracleのストアドプロシージャをどのように呼び出すかが重要です。この記事では、Oracle がストアド プロシージャを呼び出す方法を詳しく紹介します。

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

Oracle でストアド プロシージャを作成するには、さまざまな方法があります。最も一般的な 2 つの方法は、Oracle SQL Developer ツールを使用する方法と SQL*Plus コマンドを使用する方法です。 . ラインツール。

Oracle SQL Developer ツールを使用してストアド プロシージャを作成する手順は次のとおりです。

1) SQL Developer を開き、Oracle データベース サーバーに接続します。

2) SQL ワークシート ウィンドウにストアド プロシージャの SQL ステートメントを入力します。例:

CREATE OR REPLACE PROCEDURE show_emp_info
IS
BEGIN
SELECT * FROM emp;
END;

3) Ctrl Enter キーを押して実行します。 SQL ステートメントを使用して、show_emp_info という名前のストアド プロシージャを作成します。

SQL*Plus コマンドライン ツールを使用してストアド プロシージャを作成する場合は、次のコマンドを使用できます:

CREATE OR REPLACE PROCEDURE show_emp_info
IS
BEGIN
SELECT * FROM emp ;
END;
/

SQL*Plus を使用してストアド プロシージャを作成する場合は、ステートメントの最後に「/」記号を追加する必要があることに注意してください。ステートメントの終わりを示します。

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

Oracle ではストアド プロシージャを呼び出す方法が多数あります。最も一般的な 2 つの方法は、Oracle SQL Developer ツールを使用する方法と PL/SQL を使用する方法です。ブロックです。

Oracle SQL Developer ツールを使用してストアド プロシージャを呼び出す方法は次のとおりです。

1) 必要なデータベース接続を選択し、SQL ワークシート ウィンドウを開きます。

2) SQL ワークシート ウィンドウに次の SQL ステートメントを入力します:

BEGIN
show_emp_info;
END;

3) Ctrl Enter キーを押して、 SQL ステートメントを実行し、ストアド プロシージャを呼び出すことができます。

PL/SQL ブロックを使用してストアド プロシージャを呼び出す場合は、次の構文を使用できます:

BEGIN
show_emp_info;
END;
/

同様に、ステートメントの終わりを示すために、ステートメントの最後に「/」記号を追加する必要があります。

ストアド プロシージャがパラメータを渡す必要がある場合、関数の仮パラメータの代わりに IN パラメータと OUT パラメータを使用できることに注意してください。 IN パラメータはストアド プロシージャに渡されるパラメータを表し、OUT パラメータはストアド プロシージャによって返された結果を表します。

  1. パラメータの受け渡し

Oracle では、ストアド プロシージャは IN パラメータと OUT パラメータを介してパラメータを渡します。 IN パラメータは外部からの受信データを受信するために使用され、OUT パラメータは結果を返すために使用されます。

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

CREATE OR REPLACE PROCEDURE show_emp_info(
deptno IN NUMBER
)
IS
BEGIN
SELECT * FROM emp WHERE deptno = deptno;
END;

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

CREATE OR REPLACE PROCEDURE show_emp_info(
deptno IN NUMBER,
emp_count OUT NUMBER
)
IS
BEGIN
SELECT COUNT(*) INTO emp_count FROM emp WHERE deptno = deptno;
END;

OUT パラメータを使用する場合、ストアド プロシージャは次のように最後にパラメータの値を返す必要があることに注意してください:

CREATE OR REPLACE PROCEDURE show_emp_info(
deptno IN NUMBER,
emp_count OUT NUMBER
)
IS
BEGIN
SELECT COUNT(*) INTO emp_count FROM emp WHERE deptno = deptno;
RETURN emp_count;
END;

  1. 結論

Oracle でのストアド プロシージャの呼び出しは、非常に重要かつ基本的な操作です。この記事では、Oracle でストアド プロシージャを作成および呼び出す方法を詳しく紹介し、ストアド プロシージャでのパラメータの受け渡しについて詳しく説明します。この記事が開発者に実践的なガイダンスを提供できれば幸いです。

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

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