在開發Oracle 存儲過程中我們要涉及如何運行一個Oracle的存儲過程,在運行一個Oracle存儲過程中我們要在某些命令行的提示符運行你的存儲過程使用EXECUTE命令,等相關操作,以下就是相關內容的介紹。
運行一個Oracle存儲過程從SQL*Plus 命令行提示符運行你的存儲過程使用EXECUTE命令,如下:
- SQL> EXECUTE skeleton;
SQL*Plus 輸出一下信息確信存儲過程成功執行:
- PL/SQL procedure successfully completed.
你也可以在一個無名PL/SQL塊內運行你的存儲過程,在SQL*Plus命令提示符下,它看起來像:
- SQL> BEGIN
- SKELETON;
- END;
- /
現在我們已經運行了我們的存儲過程,我們如何修改它呢?
修改一個Oracle存儲過程
讓我們寫一個輸出字符串“Hello World!”的存儲過程,用Notepad打開你的skeleton.sql 文件,. 用DBMS_OUTPUT.PUT_LINE 過程調用去替換NULL語句,如下所示:
- CREATE OR REPLACE PROCEDURE skeleton
- IS
- BEGIN
- DBMS_OUTPUT.PUT_LINE('Hello World!');
- END;
保存到文件skeleton.sql.
從SQL*Plus命令行, 打開文件skeleton.sql .
- SQL> @skeleton
- SQL>
- CREATE OR REPLACE PROCEDURE skeleton
- IS
- BEGIN
- DBMS_OUTPUT.PUT_LINE('Hello World!');
- * END;
- SQL> /
SQL*Plus 通知你存儲過程成功創建並輸出提示信息:Procedure created.
SQL>
用EXECUTE 命令運行你的存儲過程:
- SQL> EXECUTE skeleton;
SQL*Plus顯示存儲過程運行成功:
- PL/SQL procedure successfully completed.
我們想要的輸出字符串 "Hello World!"沒有出來,在顯示一個DBMS_OUTPUT.PUT_LINE 結果前需要運行一個SET命令,在SQL*Plus 命令行提示符,鍵入:
- SQL> SET SERVEROUTPUT ON
再次執行你的Oracle存儲過程:
- SQL> EXECUTE skeleton;
現在結果輸出了:
- Hello World!
- PL/SQL procedure successfully completed.