mysql存储过程SQLSTATE 02000的异常情况处理
mysql存储过程调用游标循环过程中,使用SQLSTATE 02000的异常情况来设置标识位来退出循环处理。代码跑了一段时间后,发现循环并没跑完就退出。查询SQLSTATE 02000的异常情况发现,发生下述异常之一:
SELECT INTO 语句或 INSERT 语句的子查询的结果为空表。
在搜索的 UPDATE 或 DELETE 语句内标识的行数为零。
在 FETCH 语句中引用的游标位置处于结果表最后一行之后。
由于循环体中出现了SELECT INTO 语句或 INSERT 语句的子查询的结果为空表的情况,所以02000的异常标识无法满足。
后查询异常标识02501 游标位置对于当前行的 FETCH 无效。尝试用该标识位,但是并未捕获到改异常。
后最终找到解决问题得办法:每次循环的末尾增加这段代码:set 标识位 = 0;然后循环就能走完了。
您可能也对下面文章感兴趣:
There are 1 Comments to "mysql存储过程SQLSTATE 02000的异常情况处理"