gpt4 book ai didi

sql - 在保留原始主键且无需手动更新的情况下交换 MS SQLServer 中的两行

转载 作者:行者123 更新时间:2023-12-01 12:01:55 24 4
gpt4 key购买 nike

我有以下问题:我有这样的行

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)

关于sql - 在保留原始主键且无需手动更新的情况下交换 MS SQLServer 中的两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/484040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com