db2存储过程开发实战备忘录

 

1. 同时设置多个变量,col1,2是列名,v1,v2是变量名
   select col1,col2 into v1,v2 from tablename

2. 使用动态sql
   set sqlstr = 'update table set col1 = ?,col2 = ? where id = ? and sid = ?';
   prepare s1 from sqlstr;
   execute s1 using v1,v2,v3,v4;

3. 使用动态sql删除表数据,替代delete from。适用于表数据太多,回滚日志太大的情况
   首先定义一个变量sqlstr;接着
   set sqlstr = 'alter table yourtablename activate not logged initially with empty table';
   prepare s1 from sqlstr;
   execute s1;

4.使用自定义异常及异常处理
  自定义异常:DECLARE YOUREXCEPTION CONDITION FOR SQLSTATE 'T0001';   'T0001'是自定义状态码。
  自定义异常处理:这里使用exit,也可以定义continue或其它的
  DECLARE EXIT HANDLER FOR YOUREXCEPTION
   BEGIN
     --这里一般会做的事是设置一个返回参数表示成功或失败,另外插入日志表
   END;

5.取得插入,更新,删除的记录数

  get diagnostics rowcount = ROW_COUNT;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值