gpt4 book ai didi

sql - 在不影响数据库的情况下测试存储过程

转载 作者:行者123 更新时间:2023-11-28 19:47:11 25 4
gpt4 key购买 nike

我需要对客户数据库中的存储过程进行测试。有没有办法在不影响数据库数据的情况下测试存储过程?

比如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

关于sql - 在不影响数据库的情况下测试存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9764221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com