【发布时间】:2013-12-03 05:30:54
【问题描述】:
我一直在寻找,但我找不到正确的答案,可能我搜索错了,因为我不知道要寻找什么:)
无论如何,我有一个带有begin 和commit transaction 的TSQL。在事务中,我添加了一些列并重命名了一些列。
在重命名和添加列语句之后,我还运行一些更新语句将数据加载到新创建的列中。
现在的问题是,由于某种原因,更新给出了一个错误,即它无法更新给定的列,因为它不存在(YET???)。
我的想法是该语句仍在计算重命名和添加列,但已继续执行更新语句。该表非常大,有几百万条记录,所以我可以想象添加和重命名列需要一些时间
如果我先运行 rename 和 add 语句,然后分开 update 语句,它确实有效。所以这与一些等待时间有关。
是否可以让sql强制一步一步执行,等到完整的语句执行完再进行下一条?
【问题讨论】:
-
我不推荐它(或您解决问题的方法),但如果您构建一个动态 SQL 块并在修改您的架构的语句之后执行它 - 代码将根据修改后的架构进行评估
标签: sql-server tsql transactions