標籤:family com pl/sql nbsp mic 技術分享 name pack 簡單的
1、PLSQL 中的包就相當於java中的package,主要好處有(1)防止命名汙染,(2)功能統一,(3)允許重載,(4)可以隱藏核心代碼,(5)最重要的就是斷開依賴鏈。
2、對於一個程式需要大量的代碼,需要要大量的預存程序就非得用包來實現,一次就把程式載入進去,然後就可以調用了。
3、在建包的時候,基本步驟就是(1)先create package,在裡面聲明procedure,(2)然後就是create package body,在package body裡面編寫procedure的代碼即可。
4、在包裡面可以建立procedure,同時也可以建立這個function,這樣都封裝在一起,變為私人的資源就非常便於程式的保護,同時這些代碼都是一次性的調入記憶體中,執行起來也是非常快的。
5、總之,對於簡單的程式就建立一個預存程序procedure就可以了,但是對於複雜的程式就需要建包package。
SQL> create or replace package sp_package is 2 procedure sp_pack_pro1(id_in varchar2,name_in varchar2); 3 function sp_pack_fun1(mon_in number,id_in varchar2) return number; 4 end; 5 / Package created SQL>SQL> create or replace package body sp_package is 2 procedure sp_pack_pro1(id_in varchar2,name_in varchar2) is 3 begin 4 update mytest set name=name_in where id=id_in; 5 end; 6 function sp_pack_fun1(mon_in number,id_in varchar2) 7 return number is 8 sal_monsum number(7,2); 9 begin 10 select salary*mon_in into sal_monsum from mytest where id=id_in; 11 return sal_monsum; 12 end; 13 end; 14 15 / Package body created SQL> exec sp_package.sp_pack_pro1(‘wuwuwu‘,‘1‘); PL/SQL procedure successfully completed
PL/SQL編程—包