我被要求更新SQL Server表的主键列,该列已有值。在内部连接几个其他表时,我不得不从另一个表更新PK列值。由于重复,将值435插入2个或更多PK列,它没有这样做。
有什么建议可以做到吗?
UPDATE t
SET t.ID = c.NewID
FROM Table1 t
INNER JOIN Table2 p ON p.ID = t.ID
LEFT OUTER JOIN Table3 c ON c.ID = t.ID
WHERE c.status = 'Y'
答案 0 :(得分:1)
让我们说你的PK名为A
,所以:
B
update table set B = A
B
A
B
B
简单:)
我正在开玩笑,因为你可以看到它非常复杂且容易出错。你不应该担心你的PK值 - 如果你的设计有问题