使用事务回滚进行测试

时间:2014-01-23 14:12:18

标签: sql sql-server tsql testing

我刚刚发现了通过在BEGIN TRAN t1 ROLLBACK TRAN t1对中调用存储过程来测试存储过程的想法。
我有点害怕这个。 这是一种常见做法吗?它可靠吗?
我的目标是快速测试读取和更新2个数据库(同一服务器)的存储过程。 SP不执行任何截断,但使用表变量和INSERT.. OUTPUT语句 音量将很低(受影响的线路少于1000线)。 谢谢

1 个答案:

答案 0 :(得分:2)

有些事情可能会出错:

  • proc可以进行自己的事务管理
  • 它可以执行CREATE DATABASE
  • 等不可交易的语句
  • 可能有错误,导致事务自动回滚。如果proc然后继续以某种方式运行,它可能会在事务之外编写内容
  • XACT_ABORT可能使用不一致,导致前面提到的效果

一般来说,这是一种很好的技术。

Truncate是交易,顺便说一句。

相关问题