繁体   English   中英

Oracle查询到PostgreSQL的转换

[英]Oracle query to PostgreSQL conversion

您能帮助一些将Oracle查询转换为PostgreSQL查询吗,它存在吗?

我有一个Oracle查询,我想将其用于postgreSQL,能否为我提供帮助?

merge into TABLE_NAME using dual on 
(ID='CF9EB9FE6F6D4CC9B75EC0CD420421B91541944569' and ANOTHER_ID='E198D55909D94895AF747ED7E032AC58') 
when matched then update set USER='USERNAME' 
when not matched then insert values('EEA2620A4A0F31CE05E69B','CFB75EC0CD41B91541944569','E198D55909D94895AF747ED7E032AC58','USERNAME',null) 

您可以使用insert . . . on conflict在Postgres中进行upsert insert . . . on conflict insert . . . on conflict insert . . . on conflict

insert into table_name (?, id, anotherid, ?, ?)   -- put in the column names
    values('EEA2620A4A0F31CE05E69B', 
           'CFB75EC0CD41B91541944569', 
           'E198D55909D94895AF747ED7E032AC58',
           'USERNAME', null
          )
    on conflict (id, anotherid)
    do update set USER = 'USERNAME';

您想要对(id, anotherid)唯一约束(id, anotherid)以便识别冲突:

alter table table_name add constraint unq_tablename_id_anotherid unique (id, anotherid);

需要在会导致冲突的列上定义唯一约束。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM