Re: [HACKERS] SQL MERGE patches for PostgreSQL Versions

Поиск
Список
Период
Сортировка
От Kang Yuzhe
Тема Re: [HACKERS] SQL MERGE patches for PostgreSQL Versions
Дата
Msg-id CAH=t1kpw0scMWRQpq-++dY7RU9CVRz1yN7THwEYNJjS++V=2NA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] SQL MERGE patches for PostgreSQL Versions  (Jan de Visser <jan@de-visser.net>)
Список pgsql-hackers
On Thu, Jun 22, 2017 at 7:52 PM, Jan de Visser <jan@de-visser.net> wrote:
> On Thursday, June 22, 2017 12:32:14 PM EDT Kang Yuzhe wrote:
>> Here is a sample what I did after applying the patch.
>>
>> testdb=# BEGIN;
>> BEGIN
>> testdb=#
>> testdb=# MERGE INTO Stock USING Buy ON Stock.item_id = Buy.item_id
>> testdb-#  WHEN MATCHED THEN UPDATE SET balance = balance + Buy.volume
>> testdb-#  WHEN NOT MATCHED THEN DO NOTHING;
>> MERGE 1
>> testdb=# SELECT * FROM Stock;
>>  item_id | balance
>> ---------+---------
>>       20 |    1900
>>       10 |    3200
>> (2 rows)
>>
>> testdb=# ROLLBACK;
>> ROLLBACK
>
> I am not quite sure what you're trying to achieve, but are you aware that
> pgsql 9.6 introduced the ON CONFLICT clause, which allows you to do the same
> with a different syntax?
>
> https://www.postgresql.org/docs/9.6/static/sql-insert.html
>
> Look for ON CONFLICT.

Yes, I am aware of ON CONFLICT.
DO NOTHING in SQL Merge is one type of scenario which is like ON CONFLICT.
My goal is to understand how SQL MERGE works which is in SQL ANSI/ISO
standard. And I would implement as a patch in the latest PG if I could
do that.

Regards,
Zeray.



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Jan de Visser
Дата:
Сообщение: Re: [HACKERS] SQL MERGE patches for PostgreSQL Versions
Следующее
От: Kang Yuzhe
Дата:
Сообщение: Re: [HACKERS] SQL MERGE patches for PostgreSQL Versions