【发布时间】:2020-04-21 09:42:22
【问题描述】:
IBM i V7R1M0。每当发生错误时,我需要继续处理一条语句,就我所读的而言,例如:
DECLARE CONTINUE HANDLER 似乎是答案,所以
我有一个非常简单的程序,如下所示:
exec SQL create or replace procedure test_prod1
(in test2 decimal(1,0))
language sql modifies sql data
begin
declare continue handler for sqlexception
begin end;
update DUPEPF set INT2 = test2;
end;
据我所知,这意味着无论何时发生错误(例如违反唯一键),SQL 语句都会继续执行,但事实并非如此。每当出现密钥违规并且未处理下一行时,该语句就会停止。我很困惑为什么会这样
【问题讨论】: