MySql 存储过程 退出
mysql不支持quit, exit或return的方式退出
编写存储过程时,为了业务规则需要,我们可能需要提前退出存储过程
那么,我们可以利用leave label方式模拟实现quit退出的效果
应用示例,存储过程如下:
1 DELIMITER $$ 2 USE `study`$$ 3 DROP PROCEDURE IF EXISTS `updateGrade`$$ 4 CREATE PROCEDURE `study`.`updateGrade`(IN para_new_grade INT, IN para_old_grade INT) 5 6 label:BEGIN 7 DECLARE var_grade_count INT; 8 9 SELECT COUNT(grade) INTO var_grade_count FROM students WHERE grade = para_old_grade; 10 IF 0 = var_grade_count THEN 11 SELECT var_grade_count; 12 LEAVE label; # 退出存储过程 13 ELSE 14 UPDATE students SET grade = para_new_grade WHERE grade = para_old_grade; 15 END IF; 16 17 SELECT var_grade_count; # 打印变量值 18 19 END$$ 20 21 DELIMITER ;
本地调用,亲测效果正常。
总结:
注意书写格式:BEGIN前面加label:,需要退出时直接leave label;
Good Good Study, Day Day Up.
顺序 选择 循环 总结
转载于:https://www.cnblogs.com/Braveliu/p/10149070.html
MySql 存储过程 退出相关推荐
- mysql 存储过程游标删除_mysql数据库存储过程游标循环,提前退出
需求:向trade这个数据库中的每一个表增加多个字段 遇到问题:存储过程,游标,循环,动态sql执行 注意: mysql 存储过程在我所使用的5.5版本中不能使用 show 的命令,利用 inform ...
- mysql 存储过程 异常 回滚吗_MySQL 5.7 存储过程报错不回滚
本人在做项目时,遇到了一个异常蛋疼的问题,困扰了很久. 项目原先的数据库选用的是Oracle,后来到新项目中,换成了MySQL,一些主要的业务操作都是由Procedure来实现完成的.之前写过SqlS ...
- mysql存储过程into_MySQL存储过程中使用SELECT …INTO语句为变量赋值
使用SELECT -INTO语句为变量赋值 在MySQL存储过程中,可以使用SELECT -INTO语句对变量进行赋值,该语句在数据库中进行查询,并将得到的结果赋值给变量.SELECT -INTO语句 ...
- MySQL存储过程中的3种循环
MySQL存储过程中的3种循环 在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易 ...
- linux mysql 存储过程乱码,mysql存储过程中 乱码问题解决办法
中文乱码无论在何时都是一个头疼的问题,mysql的存储过程参数也同样存在这个问题. 1.直接使用insert into语句没问题,能够正常插入汉字. 2.把insert into语句移到Procedu ...
- mysql存储过程捕获错误处理_mysql存储过程之异常处理篇
mysql存储过程也提供了对异常处理的功能:通过定义HANDLER来完成异常声明的实现 语法如下: DECLARE handler_type HANDLER FOR condition_value[, ...
- mysql存储过程 try_mysql存储过程之异常处理篇
mysql存储过程也提供了对异常处理的功能:通过定义HANDLER来完成异常声明的实现 语法如下: DECLARE handler_type HANDLER FOR condition_value[, ...
- mysql 存储过程 错误码_mysql存储过程中的错误处理_mysql
mysql存储过程中的异常处理 http://www.cnblogs.com/cookiehu/p/4994278.html 定义异常捕获类型及处理方法: DECLAREhandler_action ...
- MySQL 存储过程的写法
最近因为公司需要做将Oracle 转换为MySQL,其中包含存储过程,所以就对MySQL存储过程的写法做了一些研究. DROP PROCEDURE IF EXISTS ch_passw; CREA ...
- 聊聊MySQL存储过程
一.存储过程 1.1 什么是存储过程? 存储过程是在大型数据库系统中,一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有 ...
最新文章
- labview的用户身份认证系统设计_elasticsearch 集群身份认证与用户鉴权
- Learn Python 011: while loop
- java 无名类做参数_说说你知道的几种主要的JVM参数
- Loj#143-[模板]质数判定【Miller-Rabin】
- 李宏毅 课程打包_按功能而不是按层打包课程
- 锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]
- ArrayList的四种初始化方法
- Beyond Saliency map
- Hibernate中的一对一映射
- 测试监控系列:使用vb批量统计nmon结果
- LibreOffice的使用技巧
- zookeeper集群搭建和API使用
- python env虚拟环境
- unity read files 从ini文件
- [娱乐]华为HWT文件手动修改字体名称
- 数据挖掘技术的来源 历史 研究内容及常用技术
- 大数据服务器环境准备(三台服务)
- 使用Bookinfo应用测试Kuma服务网格
- 维特比算法(viterbi)原理以及简单实现
- docker实战——在测试中使用Docker
热门文章
- Solaris10文件布局
- 淘宝API代码c#实例(摘)
- Maven+SpringMVC+Dubbo 简单的入门demo配置(另一篇)
- python 自动赚钱软件排行榜_微任务兼职平台app下载
- java socket 组包_关于socket 分包和组包
- C++ 变量在内存中的分布
- 设计模式---模板模式(C++实现)
- 七夕祝福网页制作_啥?七夕过了你还不知道自己为啥单身??
- 8.1.2 学习更多关于ConcurrentHashMap
- 数据库与表的操作之创建、修改和删除数据