MySQL存储过程中捕获异常的方法
来源:互联网 发布:乒乓球赛事直播软件 编辑:程序博客网 时间:2024/06/05 11:34
DECLARE处理程序的使用:
其中,
handler_type的取值范围:CONTINUE | EXIT | UNDO
condition_value的取值范围:SQLSTATE [VALUE] sqlstate_value | condition_name | SQLWARNING | NOT FOUND | SQLEXCEPTION | mysql_error_code
这个语句指定每个可以处理一个或多个条件的处理程序。如果产生一个或多个条件,指定的语句被执行。 对一个CONTINUE处理程序,当前子程序的执行在执行处理程序语句之后继续。对于EXIT处理程序,当前BEGIN...END复合语句的执行被终止。UNDO 处理程序类型语句还不被支持。· SQLWARNING是对所有以01开头的SQLSTATE代码的速记。
· NOT FOUND是对所有以02开头的SQLSTATE代码的速记。
· SQLEXCEPTION是对所有没有被SQLWARNING或NOT FOUND捕获的SQLSTATE代码的速记。
注:除了SQLSTATE值,MySQL错误代码也不被支持。
例:
delimiter $$CREATE TABLE `_t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `val1` varchar(20) DEFAULT NULL, `val2` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=latin1$$
DELIMITER $$CREATE DEFINER=`abandonship`@`%` PROCEDURE `P_TestException`()BEGIN declare _var,_err int default 0; declare continue handler for sqlexception, sqlwarning, not found set _err=1; insert into _t1(val1, val2) value(2012,'abandonship'); if _err=1 then set _var = 2; end if; select case when _var = 2 then '出错了' else _var end;END
调用该存储过程将返回:出错了
- MySQL存储过程中捕获异常的方法
- MySQL存储过程中捕获异常的方法
- mysql 存储过程异常捕获
- oracle中存储过程的三种异常捕获方式
- SQL SERVERC存储过程中捕获异常
- 存储过程中异常捕获处理
- MySQL 捕获存储过程
- oracle存储过程异常捕获
- oracle存储过程异常捕获
- SQL2005存储过程中使用try catch捕获异常
- MSSQL:SQL SERVERC存储过程中捕获异常
- SQL SERVER中 存储过程使用事务与捕获异常
- oracle 存储过程 如何获得 捕获异常的内容
- mysql存储过程中异常处理
- IBM DB2 V9 存储过程异常捕获
- ORACLE 存储过程异常捕获并抛出
- Mysql的存储过程中的异常
- MySQL 存储过程的异常处理
- Google Protocol Buffer 的使用和原理
- Pig实战
- mysql经典复习秘籍
- mysql的数据恢复
- wget.exe使用
- MySQL存储过程中捕获异常的方法
- 年终任务_银行系统
- 经典单片机C51多任务代码(改进版)
- PHP_服务器配置
- 深入认识javascript中的eval函数
- JENKINS使用步骤
- Java中scroll pane的使用(二)
- 自动更新+下载后自动安装
- oracle归档模式