1. 程式人生 > >PL/SQL編程—包

PL/SQL編程—包

都是 好處 ack complete .com 封裝 src 編寫 需要

技術分享

技術分享

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編程—包