値を切り替えるために、テーブル内のいくつかのフィールドに対して更新を実行しようとしています(データを生成するソフトウェアのロジックに問題があり、これは私のコントロールから外れています)。
私が使用するクエリは次のようになります。
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
クエリを分割することで希望する結果が保証されると確信していますが、単一のクエリが確実であると安全に想定できれば、はるかに簡単になります(全体的な編集は少なくなります)。
前者のクエリは後者と同じ結果を達成しますか?