多语言展示
当前在线:1691今日阅读:155今日分享:35

mysql如何在事物中调试存储过程

存储过程中经常含有大量更新语句,在不确定存储过程是否正确的前提下,我们在调试存储过程之前,最好先开启事物,待执行结束后,如果发生异常,执行回滚就不会影响我们的测试数据啦。(ps:不建议存储过程中开启事物,因为在程序中调用的时候,会与程序中的事物重叠)
工具/原料
1

mysql

2

SQLyog

方法/步骤
1

准备好待调试的存储过程和测试数据;

2

在待调试的存储过程中设置好标记,一般用select 语句,在执行的时候,通过每个标记的输出判断存储过程执行的流程;

3

同时执行START TRANSACTION; 和待调试的存储过程;

4

查询执行结果,并分析结果:从结果中可以看出,存储过程只执行到select 666,由此判断存储过程出select 666 前面的部分无异常情况;【此时可以执行SELECT * FROM information_schema.INNODB_TRX查看开启的事物】执行RollBack,回滚;以此类推,直至存储过程能全部正确执行完为止。

注意事项

每次开启事物,执行存储过程之后记得回滚

推荐信息