更新两个表加入PK/FK
问题描述:
我有两个具有相同ID列PK/FK的表。我需要使用第三个表中的数据更新它们。更新两个表加入PK/FK
IF EXISTS (SELECT * C, B WHERE B2 = C4 AND C6 = NULL)
Update A
Set A2=C2,
A3=C3,
B2=C4,
B3=C5
From C
Where C6 = NULL
我该如何把连接连接到正确的B行到A行?我可以将最后的陈述删除,因为它已经被这个标准限制了,对吗?
答
你不能一次更新两个表,你可以简单地包裹在TRANSACTION
两个更新语句:
BEGIN TRANSACTION
--perform a update...
UPDATE A
SET
A.A2=C.C2,
A.A3=C.C3
FROM
MyTableA A
INNER JOIN MyTableC C
ON C.ID = A.ID...
--perform b update
UPDATE B...
COMMIT
交易的想法是好的。谢谢。 – 2012-08-17 19:20:13