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
if num > 3 then
   leave label_pro;
else
   select num as exeuted;
end if;
end;;
DELIMITER ;

    本例中,给整个存储过程的入口打了一个标记,当在遇到需要退出存储过程时,只要 leave + 此标记即可。


Logo

更多推荐