我有以下问题:我有像行
ID CODE NAME ......... 1 h1100h1 Cool example1 ......... 2 h654441 Another cool1 .........
我想交换它们保留所有旧的主键和约束.当然,我可以通过更新行手动轻松解决此问题.我有点想知道是否有人有这种问题的优秀解决方案,而不是手动执行更新命令.我非常感谢任何建议或建议.
我没有测试过这个,但我认为它会起作用.我假设id是单列主键.如果情况并非如此,则需要稍微调整此代码以处理PK.
UPDATE T1 SET column_1 = T2.column_1, column_2 = T2.column_2, ... FROM dbo.My_Table T1 INNER JOIN dbo.My_Table T2 ON T2.id = CASE WHEN T1.id = @id_1 THEN @id_2 WHEN T1.id = @id_2 THEN @id_1 ELSE NULL END WHERE T1.id IN (@id_1, @id_2)