使用程式包主要是為了實現程式的模組化,程式包可以將相關的儲存過程,函式,變數,常量和游標等pl/sql程式組合在一起,通過這種方式可以構供程式人員重用的**庫。另外,當首次呼叫程式包中的儲存過程或函式等元素是,oracle會將整個程式包調入記憶體,在下次呼叫程式包中的元素時,oracle就可以之際從記憶體中讀取,從而提程式的執行效率。
程式包主要包括兩個部分:包規範和包體。其中,
包規範用於列出包中可用的儲存過程、函式和游標等元素條目(不含這些元素的實際**),這些條目屬於公有專案,可以供所有的資料庫使用者訪問。
包體中則包含了元素的實際**,同時,也可以在包體中建立規範中沒有提到的專案,那麼這些專案都屬於私有專案,只能在包體中使用。
建立包規範需要使用create package 語句,其簡要語法如下
create [or replace] package package_name
package_specification;
end package_name;- package_name 建立的包名
- package_specification 用於列出使用者可以使用的公共儲存過程、函式、型別和物件建立包體需要使用create package body語句,並且在建立時需要指定已建立的包,其簡要語法如下:
create [or replace] package body package_name
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
israte number:=0.08;
begin
return (value*rate);
end tax;
end common_pkg;呼叫包中的函式,
select common_pkg.tax(sal) from emp;
Oracle包的使用
包 例子 建立乙個計算器包 包的定義 像抽象類,只有定義 create or replace package cal as function addfun num1 number,num2 number return number function subfun num1 number,num2 n...
Oracle中logmnr包的使用詳解
dbms logmnr是oracle在oracle8i所提供的新package。它主要用於分析log file檔案 包括online redo log file,archived log file 將log file中的資訊轉存到v logmnr contents中,從而獲取對oracle資料庫操作...
oracle包中的儲存過程
獲取資訊列表 procedure pro get article list sidpara in cms category.cat sid type,欄目編號 usernamepara in varchar2,當前使用者 currpagepara in number,當前第幾頁 pagesizepa...