mysql存储过程中不能使用return的解决办法_MySQL
程序员文章站
2022-05-21 09:57:19
...
bitsCN.com
大家都知道,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 + 此标记即可。
作者 crocodile bitsCN.com
大家都知道,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 + 此标记即可。
作者 crocodile bitsCN.com
上一篇: 查看mysql的执行计划_MySQL
下一篇: 详谈PHP数组_PHP教程