首頁 > 資料庫 > mysql教程 > Oracle中如何從一個預存程序呼叫另一個預存程序?

Oracle中如何從一個預存程序呼叫另一個預存程序?

Patricia Arquette
發布: 2025-01-01 13:36:12
原創
467 人瀏覽過

How to Call One Stored Procedure from Another in Oracle?

如何在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中如何從一個預存程序呼叫另一個預存程序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板