1 回答

TA貢獻(xiàn)137條經(jīng)驗(yàn) 獲得超18個(gè)贊
delimiter $
drop procedure if exists curdemo $
CREATE PROCEDURE curdemo(pid int)
?BEGIN
?DECLARE notfound INT DEFAULT 0; ?#定義一個(gè)輔助變量用于判斷
?DECLARE a int; ? ? ? ? ? ? ? ? ? #定義游標(biāo)輸出值賦予的變量
?DECLARE cur1 CURSOR FOR SELECT id FROM test.t where id= pid; ?#定義游標(biāo)
?DECLARE CONTINUE HANDLER FOR NOT FOUND SET notfound = 1; ? ? ?#定義declare continue handler,這個(gè)會(huì)根據(jù)上下文是否有結(jié)果判斷是否執(zhí)行SET notfound = 1
?OPEN cur1;
?FETCH cur1 INTO a;
?if notfound = 1 then
? ?select 'no result';
? ?#寫(xiě)業(yè)務(wù)邏輯
?ELSE
? ?select concat('result:', a);
? ?#寫(xiě)業(yè)務(wù)邏輯
?end if;
?CLOSE cur1;
END
$
delimiter ;
call curdemo(240);
添加回答
舉報(bào)