MySQL存储过程中查询结果为null(是行不是特指某个字段)的处理

xmut 发布于 2011/09/26 14:16
阅读 2K+
收藏 0

第一次接触Mysql存储过程,遇到难题:

遍历一个查询游标时,经常使用以下方式配合“Until flag=0 end repeat;”来退出游标循环

DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag=0;

但是,如果在循环内嵌套Select查询语句,并且Select结果为空(记录为空,不是指某个字段为空),结果就会触发NOT FOUND异常,然后退出游标循环。请问如何处理,才能使嵌套的子查询为空时,不触发NOT FOUND???

加载中
0
Z
ZYud
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
xmut
xmut
还是一样 - -#
0
Z
ZYud

不会啊,我一直都是这样用,是在触发器里用吗?

done要定义.

0
xmut
xmut

由于嵌套子查询中使用了Group By语句,并且子查询结果为Null,因此执行子查询时一直出现DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;

返回顶部
顶部