0

我有两个具有相同 ID 列 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 行?我可以消除最后一个 where 语句,因为它已经受到该标准的限制,对吗?

4

1 回答 1

-1

您不能一次更新两个表,您可以简单地将两个更新语句包装在一个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-17T17:01:00.547 回答