我需要编写一些SQL更新脚本来添加表,重命名列等.我把所有内容放在一个事务中:
IF EXISTS (/* check version */)
BEGIN
-- print cannot apply update
END
ELSE
BEGIN
BEGIN TRANSACTION
-- apply updates
ROLLBACK
--COMMIT
END
现在,如果我ROLLBACK更新而不是COMMIT,我可以假设稍后当我将其更改回COMMIT它会工作吗?我还不想将它应用到我的开发数据库,但能够按F5并检查一切是否正常.
最佳答案 没有,
如果要进行测试,则必须确保数据库的状态.
最好编写一个小脚本,它会丢弃你的表/完整的数据库并编写一些创建数据库,表格和添加测试数据的SQL.然后你可以用你真正要使用的SQL进行真正的测试,而不是任意的(不同于真正的SQL使用)SQL并想知道你的测试代码是否有任何网站效应.
SSV(短版本):尝试尽可能干净地执行测试,没有任何其他测试代码.哪个可能干扰预期的结果.