存储过程

create or replace procedure 存储过程名称(iv_date   in varchar2,oi_return out integer) is vi_task_id    integer; vv_task_name  varchar2(30); vv_table_name varchar2(30); vv_task_pos  varchar2(50); vi_result integer; vi_err_code integer; vv_err_msg varchar2(200); exc_return exception; exc_error  exception; vi_date varchar2(8);begin execute immediate 'alter session enable parallel dml';vv_task_pos   := '程序开始日志';vv_task_name  := '';vv_table_name := ''; sp_sys_log(vi_task_id,1,vv_task_name,vv_table_name,iv_date,vv_err_msg,vv_task_pos,vi_result);vv_task_pos := '检查输入参数';if (iv_date is null) then vi_err_code := -1;vv_err_msg  := '没有输入统计日期参数';raise exc_error;end if;vv_task_pos:='定义变量赋值';vi_date:=iv_date;vv_task_pos := '清空目标表中的数据'; execute immediate 'alter table 表名 truncate partition p' || vi_date;vv_task_pos := '插入数据到目标表';vi_result := sql%rowcount;commit;vv_task_pos := '程序结束日志';sp_sys_log(vi_task_id,0,null,null,null,null,null,vi_result);oi_return := 0;exception when exc_return then sp_sys_log(vi_task_id,0,null,null,null,vv_err_msg,vv_task_pos,vi_result);oi_return := 0;when exc_error then rollback;sp_sys_log(vi_task_id,vi_err_code,null,null,null,vv_err_msg,vv_task_pos,vi_result);oi_return := vi_err_code;when others then vi_err_code := sqlcode;vv_err_msg  := substr(sqlerrm, 1, 200);rollback;sp_sys_log(vi_task_id,vi_err_code,null,null,null,vv_err_msg,vv_task_pos,vi_result);oi_return := vi_err_code;end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

困井

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值