0
我试图通过我的表中的几个字段执行更新,以便切换它们的值(由于该软件中的某些错误逻辑生成数据,这是我的contorol)。使用列作为单个更新查询的源和目标
我会使用看起来像这样的查询:
BEGIN TRANSACTION
SET @MyQuery = 'UPDATE myTable SET ColumnA = ColumnB, ColumnB = ColumnC WHERE myConditions'
EXEC @MyQuery
COMMIT TRANSACTION
或者,它应该是这样的:
BEGIN TRANSACTION
SET @MyQuery = 'UPDATE myTable SET ColumnA = ColumnB WHERE myConditions'
SET @MyQuery2 = 'UPDATE myTable SET ColumnB = ColumnC WHERE myConditions'
EXEC @MyQuery
EXEC @MyQuery2
COMMIT TRANSACTION
我敢肯定分裂的疑问保证了结果,我想要,但如果我可以安全地假设一个单一的查询是可靠的,它会更容易(更少的全面编辑)。
以前的查询是否会达到与后者相同的结果?
非常直白,谢谢。 – Alex 2012-07-16 10:14:53