事务的作用是用于当出现异常时可以触发的操作,并回滚回操作之前的状态

 

delimiter $$  //声明结束符符号
drop procedure if exists proc;  //删除存储过程你cu
create procedure proc(out return_code tinyint) //创建存储过程
begin
    declare exit handler for sqlexception //声明异常处理
    begin
        set return_code = 1;
        rollback;  //当出现异常所有操作回滚到操作之前
    end;
    declare exit handler for SQLWARNING
    begin
        set return_code = 2;
        rollback;
    end;
    start TRANSACTION; //开始事务
        update person set age=age+5 where pname='mike';
    commit;  //提交事务
    set return_code = 0;
end $$
delimiter ;

set @o=0;
call proc(@o);
select @o;