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


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值