use*_*680 6 sql testing unit-testing stored-procedures sql-server-2005
我需要在客户端的数据库中对存储过程进行测试.反正是否在不影响数据库中的数据的情况下测试存储过程?
例如,SP中有一个插入查询,它将更改数据库的数据.
反正有没有解决这个问题?
您可以在事务中运行存储过程。通过将语句放在注释行之间来使用此脚本。运行整个脚本,您的事务将处于未提交状态。然后,突出显示 ROLLBACK 或 COMMIT 行并相应执行以完成。
始终有备份。
原则上,如果可能的话,在远离客户数据的沙箱中工作。
请注意,在决定提交还是回滚时,您可能会锁定数据,这些数据可能会阻碍客户端的其他 sql 语句。
BEGIN TRANSACTION MyTransaction
GO
-- INSERT SQL BELOW
-- INSERT SQL ABOVE
GO
IF @@ERROR != 0
BEGIN
PRINT '--------- ERROR - ROLLED BACK ---------'
ROLLBACK TRANSACTION MyTransaction
END
ELSE
BEGIN
PRINT '--------- SCRIPT EXECUTE VALID ---------'
PRINT '--------- COMPLETE WITH ROLLBACK OR COMMIT NOW! ---------'
--ROLLBACK TRANSACTION MyTransaction
--COMMIT TRANSACTION MyTransaction
END
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1184 次 |
最近记录: |