1

我有嵌套的游标循环,我想在外循环上捕获错误 1329,没有数据提取。我怎样才能做到这一点?

我尝试为这个外部循环游标添加第二个 CONTINUE HANDLER,但它会捕获嵌套循环错误(不需要),并且最终不会触发嵌套处理程序。

我有这个:

DECLARE cur1 CURSOR FOR select data, valor_split, valor_div from tbl1 where data >= primeira_mov and id_papel = idpapel order by data DESC;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
DECLARE CONTINUE HANDLER FOR 1329 BEGIN
        SET nodata_issue = 1;
        SET dateof_issue = datasplit;
    END;

关于如何解决这个问题的任何想法?

4

1 回答 1

2

进入内部循环时将标志设置为 1,离开时将其设置为 0。

然后:

DECLARE CONTINUE HANDLER FOR 1329 BEGIN
    IF flag_innerloop = 0 THEN do_something;
    ELSE do_something_else;

END;
于 2012-11-29T16:24:51.663 回答