Oracle包的使用

2021-08-14 21:41:08 字數 1968 閱讀 2575

--包

--例子:建立乙個計算器包

--包的定義:像抽象類,只有定義

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資料庫操作...