mySQL(8)-事务

    事务:用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性。

过程:

1.创建
     create PROCEDURE p1(
            OUT p_return_code tinyint )
2.实现
   begin
      1.声明如果出现异常
       {        set status=1;
               rollback;
     }

       2.开始事务
         a)
         b)
          commit;
        set status=2;
   end
 

delimiter \\
create PROCEDURE p1(
OUT p_return_code tinyint
)
BEGIN
DECLARE exit handler for sqlexception
BEGIN
-- 1.声明事务异常 error
set p_return_code = 1;
rollback;
END;

DECLARE exit handler for sqlwarning
BEGIN
-- 声明事务异常 WARNING
set p_return_code = 2;
rollback;
END;

--2.开始事务
START TRANSACTION;
DELETE from tb1;
insert into tb2(name)values('test1');
COMMIT;

-- SUCCESS
set p_return_code = 0;

--结束事务
END\\
delimiter ;
     

 

posted @ 2020-05-10 12:13  jasmineTang  阅读(54)  评论(0)    收藏  举报