mysql 存储过程使用事务注意事项

2019-06-19  本文已影响0人  chennj

create procedure `testdb`.`proc_test`(

IN id_ varchar(32),

IN name_ varchar(64)

)

begin

        declare exit handler for sqlexception rollback;

        declare exit handler for sqlwarning rollback;

        /*

        必须声明 exit handler for sqlexception 和 sqlwarning,否则mysql不会自动回滚。

        exit handler 声明必须在声明的最后部分,紧随 start transaction。

        不要在 start transaction .. commit 中声明任何变量。

        */

        start transaction;

                update userinfo set emp_nm=name_ where emp_no=id_;

                insert userinfo(emp_no,emp_nm) value(id_,name_);

        commit;

end

上一篇 下一篇

猜你喜欢

热点阅读