標籤:sel private pac body roc errors style std 尋找
PL/SQL 的包
1.邏輯相關的組件的組合 (變數,資料結構,異常,預存程序,函數)
2.組成 : 定義 和 包體
-- 組成
包頭 : PUBLIC
包體 : PRIVATE
-- 包頭的文法
1 CREATE OR REPLACE PACKAGE package_name IS|AS2 PUBLIC TYPE AND VARIABLE declarations3 subprogram specifications4 END [package_name];
--執行個體
1 CREATE OR REPLACE PACKAGE comm_pkg IS|AS2 std_comm NUMBER := 0.10; --變數3 PROCEDURE reset_comm(new_comm NUMBER); -- 預存程序4 END comm_pkg;
--包體的文法
--tips :尋找包編譯錯誤 :select * from user_errors where name=‘COMM_PKG‘;(包名大寫)
1 CREATE OR REPLACE PACKAGE BODY comm_pkg IS 2 -- 函數 3 FUNCTION validate_comm(comm NUMBER) RETURN BOOLEAN IS 4 max_comm employees.commission_pct%TYPE; 5 BEGIN 6 SELECT MAX(commission_pct) INTO max_comm FROM employees; 7 RETURN (comm BETWEEN 0.0 AND max_comm); 8 END validate_comm; 9 --預存程序10 PROCEDURE reset_comm(new_comm NUMBER) IS11 BEGIN12 IF validate_comm(new_comm) THEN13 std_comm := new_comm;14 ELSE 15 raise_application_error(-20210,‘bad commission‘);16 END IF;17 END reset_comm;18 19 END comm_pkg;
oracle PL/SQL 包的介紹(四)