Oracle は効率的なリレーショナル データベース管理システムです。エンタープライズ レベルのアプリケーション開発では、ストアド プロシージャは非常に重要な部分です。 Oracle では、ストアド プロシージャはデータベース サーバー上で実行できるプログラム単位です。 PL/SQL を通じて記述でき、多数の論理処理とトランザクション制御をサポートし、複数の SQL ステートメントを 1 つのセットに結合できます。
実際の開発や運用保守では、Oracleのストアドプロシージャをどのように呼び出すかが重要です。この記事では、Oracle がストアド プロシージャを呼び出す方法を詳しく紹介します。
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 を使用してストアド プロシージャを作成する場合は、ステートメントの最後に「/」記号を追加する必要があることに注意してください。ステートメントの終わりを示します。
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 パラメータはストアド プロシージャによって返された結果を表します。
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;
Oracle でのストアド プロシージャの呼び出しは、非常に重要かつ基本的な操作です。この記事では、Oracle でストアド プロシージャを作成および呼び出す方法を詳しく紹介し、ストアド プロシージャでのパラメータの受け渡しについて詳しく説明します。この記事が開発者に実践的なガイダンスを提供できれば幸いです。
以上がOracle がストアド プロシージャを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。