--包
--例子:建立乙個計算器包
--包的定義:像抽象類,只有定義
create or replace package cal as
function addfun(num1 number, num2 number) return number;
function subfun(num1 number, num2 number) return number;
function mulfun(num1 number, num2 number) return number;
function divfun(num1 number, num2 number) return number;
end cal;
--包的主體:像實現類,將定義好的內容實現
create or replace package body cal as
function addfun(num1 number, num2 number) return number as
begin
return num1 + num2;
end addfun;
function subfun(num1 number, num2 number) return number as
begin
return num1 - num2;
end subfun;
function mulfun(num1 number, num2 number) return number as
begin
return num1 * num2;
end mulfun;
function divfun(num1 number, num2 number) return number as
begin
if num2 = 0 then
end if;
return num1 / num2;
end divfun;
end cal;
--使用包中的方法
--包名.方法名的方式呼叫方法
begin
dbms_output.put_line(cal.addfun(8, 6));
dbms_output.put_line(cal.subfun(8, 6));
dbms_output.put_line(cal.mulfun(8, 6));
dbms_output.put_line(cal.divfun(12, 6));
end;
--練習:補全cal包中的乘法和除法
--定義中出現的內容,在主體中一定要實現
--主體中的內容,定義中不一定要出現,這部分內容由主體中的子程式自行呼叫,外界無法呼叫
create or replace package cal2 as
function addfun(num1 number, num2 number) return number;
end cal2;
--主體
create or replace package body cal2 as
function sub_add(n1 number, n2 number) return number as
begin
return n1 + n2;
end sub_add;
function addfun(num1 number, num2 number) return number as
begin
return sub_add(num1, num2);
end addfun;
end cal2;
--呼叫
begin
dbms_output.put_line(cal2.addfun(8, 6));
--dbms_output.put_line(cal2.sub_add(8, 6));呼叫不到
end;
oracle 包 簡單使用
包 package 的主要作用是用於邏輯組合相關的pl sql型別 比如記錄型別或者集合型別,pl sql游標或游標宣告以及pl sql子程式 還可以包含任何可以在塊的宣告區中定義的變數 或者說是 將功能或業務相似的儲存過程,函式 以及型別等進行乙個封裝 乙個pl sql包由如下兩部分組成 語法cr...
Oracle中的包的使用
使用程式包主要是為了實現程式的模組化,程式包可以將相關的儲存過程,函式,變數,常量和游標等pl sql程式組合在一起,通過這種方式可以構供程式人員重用的 庫。另外,當首次呼叫程式包中的儲存過程或函式等元素是,oracle會將整個程式包調入記憶體,在下次呼叫程式包中的元素時,oracle就可以之際從記...
Oracle中logmnr包的使用詳解
dbms logmnr是oracle在oracle8i所提供的新package。它主要用於分析log file檔案 包括online redo log file,archived log file 將log file中的資訊轉存到v logmnr contents中,從而獲取對oracle資料庫操作...