我刚刚发现了通过从 BEGIN TRAN t1
ROLLBACK TRAN t1
对中调用它来测试存储过程的想法。
我有点害怕这个。 这是一种常见的做法吗?靠谱吗?
我的目标是快速测试读取和更新 2 个数据库(同一服务器)的存储过程。 SP 不执行任何截断,而是使用一个表变量与 INSERT.. OUTPUT
语句相结合。
音量会很低(受影响的行少于 1000 行)。
谢谢
最佳答案
有些事情可能会出错:
- proc 可以进行自己的事务管理
- 它可以执行不可处理的语句,例如
CREATE DATABASE
- 它可能有一个错误,导致事务自动回滚。如果 proc 然后以某种方式继续运行,它可能会在事务之外写入内容
- > XACT_ABORT可能使用不一致,导致前面提到的效果
不过,总的来说,这是一项很好的技术。
Truncate 被处理了,顺便说一句。
关于sql - 使用事务回滚进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21310592/