【问题标题】:merge in oracle missing keyword using使用 oracle 合并缺少的关键字
【发布时间】:2014-08-13 18:15:29
【问题描述】:

我在内存数据库的 H2 中使用了合并,它对我来说很好用。 合并到

quickbooks_companies(COMPANY_NAME,ACCESS_TOKEN,ACCESS_TOKEN_SECRET,DATE_TOKEN_RETRIEVED)
key (COMPANY_NAME)
values('${companyName}',#[message.payload.accessToken],#[message.payload.accessTokenSecret], CURRENT_TIMESTAMP())

当我尝试在 Oracle db 中运行相同时,它会给出缺少关键字 USING。

我试过这种方法,但没有奏效:

merge into quickbooks_companies('COMPANY_NAME','ACCESS_TOKEN','ACCESS_TOKEN_SECRET') USING key (COMPANY_NAME) values('My Company','11223344','99887766');

【问题讨论】:

    标签: oracle h2


    【解决方案1】:

    假设您的意图是根据指定的company_name 是否存在行来执行INSERTUPDATE,Oracle 语法将类似于

    MERGE INTO quickbooks_companies dest
      USING( SELECT 'My Company' company_name,
                    '11223344' access_token,
                    '99887766' access_token_secret
               FROM dual ) src
         ON( dest.company_name = src.company_name )
      WHEN MATCHED THEN UPDATE
         SET dest.access_token = src.access_token,
             desc.access_token_secret = src.access_token_secret
      WHEN NOT MATCHED THEN INSERT( company_name, access_token, access_token_secret )
         VALUES( src.company_name, src.access_token, src.access_token_secret )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-11
      • 2020-02-08
      • 2012-09-26
      • 2016-11-09
      • 1970-01-01
      • 2018-02-24
      • 2021-01-20
      相关资源
      最近更新 更多