【问题标题】:Oracle 11g Merge ORA-00905: missing keywordOracle 11g 合并 ORA-00905:缺少关键字
【发布时间】:2018-02-23 08:55:19
【问题描述】:

我似乎找不到查询中缺少的内容:

MERGE INTO Account D
   USING (SELECT       1 AS ID 
                 ,'AAAA' AS NAME
                ,'123Z4' AS GUID
                     , 1 AS STATUS 
          FROM DUAL
         ) S
   ON (D.GUID  = S.GUID)
   AND (D.Name = S.Name)
   WHEN MATCHED 
   THEN 
   UPDATE SET D.Status = S.Status 
   WHEN NOT MATCHED 
   THEN 
   INSERT (D.Id, D.Name, D.GUID, D.Status)
   VALUES (1 , 'AAAA' , '123Z4' , 1)

它给了我一个错误 ORA-00905: missing keyword。

【问题讨论】:

  • 我认为连接条件需要在一对括号中:ON (D.GUID = S.GUID AND D.Name = S.Name)
  • 该死,成功了!非常感谢!,对不起,我从来没有想到过。

标签: oracle oracle11g sql-merge


【解决方案1】:

目标表和源查询之间的连接条件需要是一对括号内的“单一”条件:

ON (D.GUID  = S.GUID AND D.Name = S.Name)

【讨论】:

    猜你喜欢
    • 2010-09-23
    • 2017-10-18
    • 2023-03-22
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 2023-01-02
    相关资源
    最近更新 更多