【发布时间】:2011-09-28 01:44:55
【问题描述】:
我有两个不同的表:Table_a 和 Table_b,它们都有相同的 PartNo 和 Material_Desc 列。当 PartNo 相等时,我希望 Table_b 中的 Material_Desc 更新 Table_a 中的 Material_Desc。这是我的查询
MERGE INTO Table_b
USING ( SELECT t1.rowid AS rid
, t2.Material_Desc
FROM Table_b t1
JOIN Table_a t2
ON Table_b.PartNo = Table_a.PartNo )
ON rowid = rid
WHEN MATCHED THEN
UPDATE
SET Table_a.Material_Desc = Table_b.Material_Desc;
我知道 Oracle 不支持更新语句的连接,所以我尝试了上述查询。它仍然给我 ORACLE ORA-00969: missing ON 关键字错误
【问题讨论】:
-
查看我对此答案的评论:stackoverflow.com/a/2446859/244826
-
ON之后的条件必须放在括号内:ON (rowid = rid)