我正在尝试对表中的几个字段执行更新,以切换它们的值(由于生成数据的软件中的一些错误逻辑,这超出了我的控制范围)。
我将使用的查询如下所示:
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
我很确定拆分查询可以保证我想要的结果,但是如果我可以安全地假设单个查询是可靠的,它会更容易(更少的全面编辑)。
前一个查询会获得与后者相同的结果吗?