ホームページ >データベース >mysql チュートリアル >Oracle で 1 つのストアド プロシージャを別のストアド プロシージャから呼び出す方法
Oracle の他のストアド プロシージャ内でストアド プロシージャを実行する方法
概要:
呼び出し別のストアド プロシージャ内からストアド プロシージャを作成することは、Oracle の貴重な技術であり、開発者は次のことを可能にします。複雑なシナリオ向けのデイジーチェーン データベース操作。
解決策:
別のストアド プロシージャ内でストアド プロシージャを呼び出すには、次のいずれかの方法を使用します。
1. CALL ステートメント:
CALL <procedure_name>([arguments]);
このメソッドは SQL キーワード CALL を使用し、引数のないプロシージャの場合でもかっこが必要です。
例:
CALL test_sp_1();
2.匿名 PL/SQL ブロック:
BEGIN <procedure_name>([arguments]); END;
PL/SQL ブロックでは、プロシージャを直接呼び出すことができます。
例:
BEGIN test_sp_1; END;
3. EXEC コマンド (SQL*Plus のみ):
EXEC <procedure_name>([arguments]);
このコマンドは、匿名 PL/SQL ブロックのショートカットです。
追加の考慮事項:
例コード:
SET SERVEROUTPUT ON; CREATE OR REPLACE PROCEDURE test_sp AS BEGIN DBMS_OUTPUT.PUT_LINE('Test works'); END; CREATE OR REPLACE PROCEDURE test_sp_1 AS BEGIN DBMS_OUTPUT.PUT_LINE('Testing'); test_sp; END; CALL test_sp_1();
出力:
Testing Test works
以上がOracle で 1 つのストアド プロシージャを別のストアド プロシージャから呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。