为了账号安全,请及时绑定邮箱和手机立即绑定

mysql中游标为空怎么判断啊

mysql中游标为空怎么判断啊

菠萝1230 2016-11-17 13:12:38
查看完整描述

1 回答

已采纳
?
慕田峪3555374

TA贡献137条经验 获得超18个赞

delimiter $
drop procedure if exists curdemo $
CREATE PROCEDURE curdemo(pid int)
 BEGIN
 DECLARE notfound INT DEFAULT 0;  #定义一个辅助变量用于判断
 DECLARE a int;                   #定义游标输出值赋予的变量
 DECLARE cur1 CURSOR FOR SELECT id FROM test.t where id= pid;  #定义游标
 DECLARE CONTINUE HANDLER FOR NOT FOUND SET notfound = 1;      #定义declare continue handler,这个会根据上下文是否有结果判断是否执行SET notfound = 1

 OPEN cur1;
 FETCH cur1 INTO a;
 if notfound = 1 then
   select 'no result';
   #写业务逻辑
 ELSE
   select concat('result:', a);
   #写业务逻辑
 end if;
 CLOSE cur1;
END
$
delimiter ;

call curdemo(240);

查看完整回答
反对 回复 2016-11-17
  • 1 回答
  • 0 关注
  • 2404 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信