mysql存储函数,游标的使用过程中异常捕捉机制
来源:互联网 发布:centos下载教程 编辑:程序博客网 时间:2024/06/05 03:44
drop procedure if exists p2;delimiter $$create procedure p2()--创建一个函数begindeclare row_player_guid int ;--定义一个变量用来接收游标返回的值declare done int default false;--定义一个值,用来判定循环的状态,ture就跳出循环declare get cursor for select distinct(player_guid) from p_task;declare exit handler for not found set done=true;--异常捕捉,declare continue handler for 1062 set @info='Duplicate entry';--异常捕捉continue为忽略这个错误继续执行open get;--打开游标read_loop: LOOP--创建循环遍历结果集(创建游标时定义的)fetch get into row_player_guid;--将遍历的结果赋值给row_player_guidIF done THEN--游标结束的条件LEAVE read_loop;END IF;--游标结束的条件也可以不加,不加的话需要把异常捕捉的continue换成exit--想要在循环内做的事情select row_player_guid,done; END LOOP; close get; --关闭游标end $$delimiter;
DECLARE handler_type HANDLER FOR condition_value [,...] sp_statementhandler_type: CONTINUE|EXIT|UNDO--handler_type为错误处理方式,参数为3个值之一;--CONTINUE表示遇到错误不处理,继续执行;--EXIT表示遇到错误时马上退出;--举例://方法一:捕获sqlstate_value异常//这种方法是捕获sqlstate_value值。如果遇到sqlstate_value值为"42S02",执行CONTINUE操作,并输出"NO_SUCH_TABLE"信息DECLARE CONTINUE HANDLER FOR SQLSTATE '42S02' SET @info='NO_SUCH_TABLE';//方法二:捕获mysql_error_code异常//这种方法是捕获mysql_error_code值。如果遇到mysql_error_code值为1146,执行CONTINUE操作,并输出"NO_SUCH_TABLE"信息;DECLARE CONTINUE HANDLER FOR 1146 SET @info='NO_SUCH_TABLE';//方法三:先定义条件,然后捕获异常DECLARE no_such_table CONDITION FOR 1146;DECLARE CONTINUE HANDLER FOR NO_SUCH_TABLE SET @info='NO_SUCH_TABLE';//方法四:使用SQLWARNING捕获异常DECLARE EXIT HANDLER FOR SQLWARNING SET @info='ERROR';//方法五:使用NOT FOUND捕获异常DECLARE EXIT HANDLER FOR NOT FOUND SET @info='NO_SUCH_TABLE';//方法六:使用SQLEXCEPTION捕获异常DECLARE EXIT HANDLER FOR SQLEXCEPTION SET @info='ERROR';
阅读全文
0 0
- mysql存储函数,游标的使用过程中异常捕捉机制
- MySql 自定义函数,存储过程,游标的使用
- mysql 存储过程中使用多游标
- mysql 存储过程中使用多游标
- MYSQL存储过程中使用游标的实例
- MySQL存储过程 游标循环的使用
- mysql存储过程以及游标的使用
- Mysql 存储过程游标的使用
- mysql 存储过程 -- 游标的使用
- mysql-游标及存储过程游标的使用--源自技术
- mysql存储过程使用游标
- mysql的存储过程,存储函数,游标,流程控制
- mysql 存储过程中对负数的捕捉
- MySQL存储过程和函数以及游标使用详解
- 存储过程中游标以及异常的处理
- <Oracle游标>存储过程中使用游标
- 存储过程中使用游标
- 存储过程中使用游标
- Android系统广播大全
- CSS 内联元素和块级元素内部布局规则
- android 系统常用广播
- 使用Intellij IDEA、Maven、Tomcat、MySQL搭建SSH框架
- 安卓、苹果手机数据转移时的备份以及恢复
- mysql存储函数,游标的使用过程中异常捕捉机制
- 2017.07.11——学习总结
- liunx解压文件
- Android 广播大全 Intent Action 事件
- 附近卖家实现2.0
- MongoDB--知识点总结
- java 常用包
- 进程间通信(2):命名管道
- 5、SpingBoot文件上传、多文件上传、文件下载(断点续传)