Обсуждение: merge statement gives error

Поиск
Список
Период
Сортировка

merge statement gives error

От
Abhra Kar
Дата:

Hi,

       Trying to execute the following statement ---- 


merge into ABC as n using dual on (n.id=123)

when matched update set aaa=222, bbb=333

 when not matched insert (id, aaa) values (NEXTVAL(id),555);


but gives syntax error.What should be the proper syntax[ Parameter values are properly passed based on data type].

Thanks 

Re: merge statement gives error

От
Thomas Kellerer
Дата:
Abhra Kar schrieb am 26.02.2018 um 16:02:
> Hi,
> 
>        Trying to execute the following statement ---- 
> 
> 
> merge into ABC as n using dual on (n.id <http://n.id>=123)
> 
> when matched update set aaa=222, bbb=333
> 
>  when not matched insert (id, aaa) values (NEXTVAL(id),555);
> 
> 
> 
> but gives syntax error.What should be the proper syntax[ Parameter values are properly passed based on data type].

There is no MERGE statement in Postgres (there might be in Postgres 11, but not currently). 

You will need to use INSERT ON CONFLICT instead.