`

Mysql 异常处理

阅读更多
在Java中异常处理的方法, try --- catch -- finally。那么在Mysql里面是如何来处理的呢?

步骤如下:
1)关联异常信息变量;
2)开启事务;
3)关联变量判断。

Mysql里面其实也提供了一些异常捕获的情况,常见的有以下几种:
1) SQLEXCEPTION;
2) NOT FOUNT;
3) WARNING。

语法格式
 DECLARE 	CONTINUE| EXIT 		HANDLER FOR SQLEXCEPTION|WARING|NOT FOUND SET 
 _ERROR = 0;
  


上面的语法就是将有异常的信息进行设置关联到变量上,如果出现了异常,那么_ERROR的值会被置成1,后面可以根据其值进行相应的操作,是commit还是rollback。

下面是一个例子供参考。
DROP PROCEDURE IF EXISTS TEST.TEST;
CREATE PROCEDURE TEST.TEST(ID INT, NAME VARCHAR(20))

BEGIN
 DECLARE 	_ERROR INT DEFAULT 0;
 -- 如果出现异常就关联到另一个变量上
 DECLARE 	CONTINUE 		HANDLER FOR SQLEXCEPTION   SET _ERROR =1;
 -- 开启事务
 START TRANSACTION;

 INSERT INTO STUDENT VALUES(ID, NAME);

 -- 变量判断,是COMMIT还是ROLLBACK
  IF _ERROR = 1 THEN
      ROLLBACK;
      -- 将错误信息写到另一张表中
      INSERT INTO ERROR VALUES(ID,NAME);	  
			SET _ERROR = 0;  
      COMMIT;
	ELSE
			COMMIT;
	END IF;
  
END;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics