Oracle中包的使用
使用程式包主要是為了實現程式的模組化,程式包可以將相關的預存程序,函數,變數,常量和遊標等PL/SQL程式組合在一起,通過這種方式可以構供程式人員重用的程式碼程式庫。另外,當首次調用程式包中的預存程序或函數等元素是,Oracle會將整個程式包調入記憶體,在下次調用程式包中的元素時,Oracle就可以之際從記憶體中讀取,從而提程式的運行效率。
程式包主要包括兩個部分:包規範和包體。其中,
建立包規範
建立包規範需要使用CREATE PACKAGE 語句,其簡要文法如下
CREATE [OR REPLACE] PACKAGE package_name {IS|AS} package_specification; END package_name;
- package_name 建立的包名 - package_specification 用於列出使用者可以使用的公用預存程序、函數、類型和對象
建立包體
建立包體需要使用CREATE PACKAGE BODY語句,並且在建立時需要指定已建立的包,其簡要文法如下:
CREATE [OR REPLACE] PACKAGE BODY package_name {IS|AS} package_body END package_name;
執行個體
具體執行個體如下:
1.建立包規範
CREATE OR REPLACE PACKAGE common_pkg IS FUNCTION tax(value IN NUMBER) RETURN NUMBER; END common_pkg;
2.建立包體
CREATE OR REPLACE PACKAGE BODY common_pkg IS FUNCTION tax(value IN NUMBER) RETURN NUMBER IS rate NUMBER:=0.08; BEGIN RETURN (value*rate); END tax; END common_pkg;
調用包中的函數,
SELECT common_pkg.tax(sal) FROM emp;