Re: [GENERAL] Multiply ON CONFLICT ON CONSTRAINT

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: [GENERAL] Multiply ON CONFLICT ON CONSTRAINT
Дата
Msg-id 2896b8e7-60d0-0e5f-114b-d17e5a67c7fc@aklaver.com
обсуждение исходный текст
Ответ на [GENERAL] Multiply ON CONFLICT ON CONSTRAINT  (Arnold Somogyi <arnold.somogyi@gmail.com>)
Список pgsql-general
On 02/17/2017 04:53 PM, Arnold Somogyi wrote:
> Hi,
>
> I wonder if there is a way to add more then one ON CONSTRAINT value.
> I have many different unique constraints on my table and I would like to
> catch and handle two of them with ON CONFLICT ON CONSTRAINT. And the
> rest errors will be handled by the client application.
>
> INSERT INTO table_1 (id, name, value, user_id, description)
> VALUES (1, 'name', 'value', null, null)
> ON CONFLICT ON CONSTRAINT *table1_pkey, table1_name_key* DO UPDATE
> SET value = EXCLUDED.value, user_id = EXCLUDED.user_id, description =
> EXCLUDED.description

https://www.postgresql.org/docs/9.6/static/sql-insert.html

"where conflict_target can be one of:

    ( { index_column_name | ( index_expression ) } [ COLLATE collation ] [ opclass ] [, ...] ) [ WHERE index_predicate
]
    ON CONSTRAINT constraint_name
"

I read that as only one constraint_name.

The question then becomes whether you want:

table1_pkey, table1_name_key

to OR or AND?

>
> Regards,
> Arnold


--
Adrian Klaver
adrian.klaver@aklaver.com


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

Предыдущее
От: Karsten Hilbert
Дата:
Сообщение: Re: [GENERAL] Using xmin and xmax for optimistic locking
Следующее
От: Venkata B Nagothi
Дата:
Сообщение: Re: [GENERAL] Streaming Replication Without Downtime