大家都知道,mysql 的存儲過程是不能使用 return 語句的,只有存儲函數才有此功能。那麼,有沒有替代 return 的關鍵字呢?
沒有!
像 exit, quit 之類的關鍵字全沒有!
怎麼辦?
使用功能稍次一些的 leave 關鍵字吧,此關鍵字可以模仿 return 的行為。
舉一個例子吧:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Procedure structure for sp_test_return
-- ----------------------------
DROP PROCEDURE IF EXISTS `sp_test_return`;
DELIMITER ;;
CREATE PROCEDURE `sp_test_return`(In num integer)
label_pro:begin www.2cto.com
if num > 3 then
leave label_pro;
else
select num as exeuted;
end if;
end;;
DELIMITER ;
本例中,給整個存儲過程的入口打了一個標記,當在遇到需要退出存儲過程時,只要 leave + 此標記即可。
作者 crocodile