当前位置: 代码迷 >> DB2 >> 错误捕获的有关问题
  详细解决方案

错误捕获的有关问题

热度:4271   发布时间:2013-02-26 00:00:00.0
异常捕获的问题
v_llin的类型为smallint
set v_llin = -999999999999;

set v_err_code=sqlcode;
if v_err_code<>0 THEN
  iterate ;
end if;

红字这行会溢出抛异常,问题是抛异常后下面的能不能继续执行

------解决方案--------------------------------------------------------
类似如下的定义,把02000改成溢出时发生的SQLSTATE,把rowcount = 0改成你要的判断条件里的赋值语句
declare not_found CONDITION FOR SQLSTATE '02000';
declare CONTINUE HANDLER FOR not_found
set rowcount = 0;
declare exit handler for sqlexception
call logNote('income_to0206',errLog,sqlcode, sqlstate);
  相关解决方案