db2存储过程循环update数据,update出错怎么继续循环不使存储过程中断

qq_20938861 2016-12-03 01:26:41
CREATE PROCEDURE UPDE_CIBB_603_PROC ( IN nelDate char(8) ,IN nelRound int,IN clsDate char(8))

LANGUAGE SQL

BEGIN

DECLARE I INTEGER DEFAULT 0;

DECLARE REFNO CHAR(28);

DECLARE SQLSTATE CHAR(5);

DECLARE SQLSTATE CHAR(3);

DECLARE CIBB CURSOR WITH HOLD FOR

SELECT REF_NO FROM CLS_IBPS_BSN_BOOK WHERE nel_Date=nelDate and nel_Round=nelRound WITH UR;

OPEN CIBB;

FETCH FROM CIBB INTO REFNO ;

WHILE (SQLSTATE = '00000')

DO

update CLS_IBPS_BSN_BOOK set CLS_DATE=clsDate,IBPS_BIZ_STATUS='PR04' WHERE REF_NO=REFNO;



SET I=I+1;

IF (MOD(I,1000)=0) THEN

SET I=0;

COMMIT;



END IF;



FETCH FROM CIBB INTO REFNO ;

END WHILE;

CLOSE CIBB;

COMMIT;

END

怎么加上异常判断呢? 求大神 帮忙在这个存储过程上加以完善!!!!!!!!!!
...全文
1370 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
达达CockWire 2017-01-11
  • 打赏
  • 举报
回复
声明一个出错处理 declare continue handler for not found begin set v_end = 1; end; 在里面设置v_end的值,通过判断来控制出不出错的自定义处理

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧