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);
添加回答
舉報
0/150
提交
取消