oracle 存储过程语法实例以及调用方法

来源:互联网 发布:linux cpu核心 编辑:程序博客网 时间:2024/05/16 00:45

下面是带输入输出参数,以及异常信息处理的后台存储过程:

create or replace procedure sp_exp_bz_bf(
       I_TJRQ   IN  NUMBER,
       i_err_no out number
) is
v_proc_name varchar2(50):='sp_exp_bz_bf';
v_err_msg varchar2(100);
i_code  number:=0;
begin
       i_err_no:=0;
       sp_passys_xtrz ('0',v_proc_name,'币种接口开始');       
       execute immediate 'truncate table pas.jksj_bz';
       insert into jksj_bz(bz,bzywmc,bzzwmc,jxnjs)
       select trim(b04.FIELD1),b04.FIELD5 ,b04.FIELD3,nvl(b04.FIELD12,360)
       from sjy_bifd04 b04;
       commit;
       sp_passys_xtrz('0',v_proc_name,'币种接口完毕');
    exception
       when others then
         rollback;
         i_err_no:=1;
         v_err_msg:=sqlerrm;
         i_code:=to_char(sqlcode);
         sp_passys_errhandle(v_proc_name,i_code,v_err_msg);
 end;

下面我们是怎么调用存储过程的,请看代码:

declare
  i_tjrq number :=20160101;
  i_err_no number:=0;
begin
  -- Call the procedure
  sp_exp_
bz_bf(i_tjrq,i_err_no);
end;

0 0