首頁 > 資料庫 > mysql教程 > 一個 Oracle 預存程序可以呼叫另一個預存程序嗎?

一個 Oracle 預存程序可以呼叫另一個預存程序嗎?

Linda Hamilton
發布: 2024-12-25 04:15:09
原創
959 人瀏覽過

Can One Oracle Stored Procedure Call Another?

在Oracle 中呼叫另一個預存程序

問題:

問題:

可以從Oracle 中的另一個預存程序呼叫預存程序?如果是這樣,如何實現這一點?

SET SERVEROUTPUT ON;

DROP PROCEDURE test_sp_1;
DROP PROCEDURE test_sp;

CREATE PROCEDURE test_sp
AS
BEGIN
    DBMS_OUTPUT.PUT_LINE('Test works');
END;
/

CREATE PROCEDURE test_sp_1
AS
BEGIN
    DBMS_OUTPUT.PUT_LINE('Testing');
    test_sp;
END;
/

CALL test_sp_1;
登入後複製

範例程式碼:

解決方案:

    測試程式碼前提是已成功建立並初始化儲存程序。但是,問題出在最後一行,它嘗試呼叫過程但失敗。
  1. 在SQL*Plus 中呼叫預存程序的方法有以下三種:
CALL test_sp_1();
登入後複製
CALL:
    需要括號,即使對於沒有括號的過程也是如此參數。
BEGIN
    test_sp_1;
END;
/
登入後複製
匿名 PL/SQL 區塊:
    允許內聯執行程式碼。
EXEC test_sp_1
登入後複製
EXEC:

一個 SQL*Plus 指令,是匿名的捷徑區塊。

SQL> CALL test_sp_1();
Testing
Test works

Call completed.

SQL> EXEC test_sp_1
Testing
Test works

PL/SQL procedure successfully completed.

SQL> BEGIN
  2      test_sp_1;
  3  END;
  4  /
Testing
Test works

PL/SQL procedure successfully completed.
登入後複製
範例:

以上是一個 Oracle 預存程序可以呼叫另一個預存程序嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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