mysql如何跳出存储过程的执行
来源:互联网 发布:免费手机版进销存软件 编辑:程序博客网 时间:2024/05/16 19:39
很多小伙伴都知道使用leave label来跳出循环,但是在实际的需求可能需要跳出整个存储过程而mysql又不支持quit,exit或return的方式退出。
这里我们依然使用leave的方式来模拟exit的作用(见2)。
1,一般用法,跳出循环
Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(p1 INT)BEGIN
label1: LOOP
SET p1 = p1 + 1;
IF p1 < 10 THEN
select 'repeate';
ITERATE label1;
END IF;
select 'skip';
LEAVE label1;
END LOOP label1;
SET @x = p1;
select @x;
END
执行
MariaDB [test]> call test(8);
+---------+
| repeate |
+---------+
| repeate |
+---------+
1 row in set (0.00 sec)
+------+
| skip |
+------+
| skip |
+------+
1 row in set (0.00 sec)
+------+
| @x |
+------+
| 10 |
+------+
2,直接跳出整个存储过程体
CREATE DEFINER=`root`@`localhost` PROCEDURE b (p int)
label:begin
declare i int ;
set i=p;
if i<1 then leave label;
else select i ;
end if ;
end
调用如下:
传入参数小于1 直接跳出存储过程
call b(-1);
Query OK, 0 rows affected (0.00 sec)
传入参数大于1 直接输出传入的值
call b(2);
+------+
| i |
+------+
| 2 |
+------+
实际结果和测试情况一致。
就简单的记录到此,希望对你有帮助。
0 0
- mysql如何跳出存储过程的执行
- mysql执行存储过程
- MySQL 用户执行存储过程的权限
- 简单的mysql定时器 执行存储过程
- Hibernate4.x执行mysql的存储过程
- MySQL 用户执行存储过程的权限
- mysql执行存储过程权限的问题
- MySQL用户执行存储过程的权限
- MySQL如何设置让存储过程定时执行
- mysql如何让一个存储过程定时执行
- mysql如何让一个存储过程定时执行
- mysql查看锁住的表和事务隔离级别及存储过程跳出循环处理方式
- php 执行mysql存储过程
- MySQL定时执行存储过程
- MYSQL定时执行存储过程
- mysql事件执行存储过程
- mysql 定时执行存储过程
- C# 执行mysql 存储过程
- 20140401收盘小结
- 为什么有了MAC地址后,还要有IP地址
- 如何不使用第三个变量进行数据交换?
- Android 再按一次退出程序
- Eclipse利用PhoneGap打包Sencha Touch2项目
- mysql如何跳出存储过程的执行
- Microsoft Office Excel 不能访问文件
- hdu 1695 GCD(容斥原理+欧拉函数)
- sql优化
- Android中解析JSON形式的数据
- balanced binary tree = AVL tree
- python 执行sh脚本文件
- 网站切记遇到这几种状况
- AS3 finger chart轻量级制图表,统计图,饼图,柱形图类(转) - ActionScript 3 - 9RIA论坛