銀行專案需撰寫 Oracle 預存程序,僅具備呼叫經驗,發現開發、除錯、驗證極具挑戰。本文完整記錄開發流程。
需具備:SQL 基礎、SQL*Plus 基本操作、PL/SQL 程式設計基礎。
CREATE OR REPLACE PROCEDURE skeleton
IS
BEGIN
NULL;
END;
逐行解析:
CREATE OR REPLACE PROCEDURE skeleton:建立或覆蓋名為 skeleton 的程序IS:宣告區塊開始BEGIN:執行區塊開始NULL;:不做任何事(PL/SQL 區塊至少需一條語句)END;:結束SQL> @skeleton
SQL> /
Procedure created.
SQL> EXECUTE skeleton;
PL/SQL procedure successfully completed.
-- 或在匿名區塊中呼叫
SQL> BEGIN
2 SKELETON;
3 END;
4 /
CREATE OR REPLACE PROCEDURE skeleton
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello World!');
END;
重新建立後執行,若無輸出需先開啟伺服器輸出:
SQL> SET SERVEROUTPUT ON
SQL> EXECUTE skeleton;
Hello World!
PL/SQL procedure successfully completed.
修改 SQL 檔 → 建立程序 → 執行 → 依編譯錯誤修正 → 重複。商用程序涉及大量表、型別、游標、迴圈、條件,錯誤資訊繁多,需靠經驗定位修正。
SQL> DROP PROCEDURE skeleton;
Procedure dropped.
DROP PROCEDURE 屬 DDL 操作。
詳細說明使用 Oracle 工具開發商用預存程序的完整步驟。程序可能被應用程式直接呼叫,或由觸發器引發。