事务的作用是用于当出现异常时可以触发的操作,并回滚回操作之前的状态
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;