1.mysql存储过程
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
本文介绍了一个MySQL存储过程中的游标使用示例。通过定义一个存储过程curdemo,根据传入的参数pid从test.t表中获取数据。如果查询不到结果,则返回'noresult';如果查询到结果,则返回查询到的id值。
362

被折叠的 条评论
为什么被折叠?



