是否符合加入标准 sql 的更新
Is an update with a join standard sql compliant
是否符合以下标准SQL?如果不是,那为什么不呢?
UPDATE a
SET a.Y = 2
FROM TABLE_A a
INNER JOIN TABLE_B b ON
a.X = b.X
WHERE b.Z = blahblah
编写查询的符合 ANSI 的方式是:
UPDATE TABLE_A
SET Y = 2
WHERE b.Z = blahblah AND
EXISTS (SELECT 1 FROM TABLE_B b WHERE TABLE_A.X = b.X);
据我所知,ANSI 和 ISO 都没有提供为什么它们不做某事的理由。我可以推测,当给定行上有多个匹配项时,FROM
子句会导致问题。就个人而言,我不想在争论更新发生的顺序时在房间里。
是否符合以下标准SQL?如果不是,那为什么不呢?
UPDATE a
SET a.Y = 2
FROM TABLE_A a
INNER JOIN TABLE_B b ON
a.X = b.X
WHERE b.Z = blahblah
编写查询的符合 ANSI 的方式是:
UPDATE TABLE_A
SET Y = 2
WHERE b.Z = blahblah AND
EXISTS (SELECT 1 FROM TABLE_B b WHERE TABLE_A.X = b.X);
据我所知,ANSI 和 ISO 都没有提供为什么它们不做某事的理由。我可以推测,当给定行上有多个匹配项时,FROM
子句会导致问题。就个人而言,我不想在争论更新发生的顺序时在房间里。