【MySql】存储过程添加事务

时间:2023-03-09 15:59:29
【MySql】存储过程添加事务

存储过程使用SQLException捕获SQL错误,然后处理;

我们可以在MySQL存储过程中捕获SQL错误,然后通过事务判断,回滚(ROLLBACK)还是提交(COMMIT)。

CREATE PROCEDURE proc( )
BEGIN
DECLARE t_error INTEGER DEFAULT 1;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=-1; START TRANSACTION;
INSERT INTO test VALUES(NULL, 'test 001');
INSERT INTO test VALUES('', 'test 002'); IF t_error = -1 THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
select t_error; //返回标识位的结果 -1失败,1成功
END