oracle數據庫包package小例子

    爲了把某一個模塊的函數、存儲過程等方便查詢維護,可以把它們打到一個包裏。下面給出一個簡單的小例子。

1、創建包頭

 

create or replace package chen_pack
is
    function f_c_getstaffNum(in_status in varchar2) return number;
    procedure p_c_sendmsg(receiver in varchar2,content in varchar2);
end;

 

2、創建包體

create or replace package body chen_pack
as

    function f_c_getstaffNum(in_status in varchar2)
     return number
     as
         outnum number;
     begin
         select count(1) into outnum from icdpub.t_ucp_staffbasicinfo g where g.staffidstatus = in_status;
     return outnum;
    end f_c_getstaffNum;



    procedure p_c_sendmsg(receiver in varchar2,content in varchar2)
      as
      begin
        insert into t_c_msg(sender,receiver,content,sendtime) values('10658666',receiver,content,sysdate);
        commit;
    end p_c_sendmsg;

end chen_pack;
 


 

3.調用

可以在存儲過程中調用

declare 
  v_staffnum number;
begin
  v_staffnum :=chen_pack.f_c_getstaffNum('01');
  dbms_output.put_line(v_staffnum); 
  chen_pack.p_c_sendmsg('138','測試短信'||sysdate);
end;

 

也可以直接在sql中調用函數

select chen_pack.f_c_getstaffNum('01') from dual;


 

 

詳細的可以參考這位同仁的文章:

http://www.cnblogs.com/lovemoon714/archive/2012/02/29/2373695.html


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章