這些是模式對象,組是邏輯上相關的PL/SQL類型、變量和子程序。他們有兩個強製性的部分:
- 包裝規範
- 包體或定義
包裝規範
這是包的接口。這隻聲明了要從包外部引用的類型、變量、常量、異常、遊標和子程序。我們也可以說,它包含了關於包內容的所有信息,但不包括子程序的代碼。所有放在規範中的對象都被稱為公共對象。任何不在包規範中但在包主體中編碼的子程序都稱為私有對象。
find (t_id teachers.id%type);teachers_sal結束;/
當我們執行時,上麵的代碼在SQL提示符下執行。
創建包。
包體
此代碼用於在包規範中聲明的各種方法,以及其他私有聲明,這些聲明對包外部的代碼隱藏。語句CREATE PACKAGE BODY用於創建包體。
示例:創建或替換包BODY teachers_sal AS PROCEDURE find_sal(t_id teachers.id%TYPE) IS t_sal teachers.salary%TYPE;SELECT salary INTO t_sal FROM teacher WHERE id = t_id;dbms_output。put_line('Salary: '|| c_sal);find_sal結束;teachers_sal結束;/ Output:創建包體。
使用包元素
包元素,如變量、過程或函數,可以通過下麵給出的語法訪問:
package_name.element_name;示例:DECLARE代碼教師。Id %type:= &tt_id;開始teachers_sal.find_sal(代碼);結束;/ Output: Enter value for tt_id: 2 Salary: 3000 PL/SQL procedure successfully completed。