Re: Conditional INSERT: if not exists

Поиск
Список
Период
Сортировка
От Don Morrison
Тема Re: Conditional INSERT: if not exists
Дата
Msg-id aee6519f0608231525r1cbb2918kb8bb251f300724fc@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Conditional INSERT: if not exists  ("Don Morrison" <donmorrison@gmail.com>)
Список pgsql-novice
> > isn't a problem.  If you need to do this in a transaction, you can
> > simply set savepoints and roll back to the savepoint if an insert fails
> > (and you expected that it could).
>
> Unfortunately, for some reason it does a rollback of the entire outer
> transaction too, not just the nested one. :(  Anybody know why?
>
> If I use stored procedures will it be easier?
>

When I try to insert a duplicate row, this generates an IntegrityError
on my unique index, which rolls back my entire transaction, when I
really want it to generate a ROLLBACK TO SAVEPOINT for the most recent
savepoint, so only that insert is ignored.  Does anyone know a
configuration trick to get it to do this, or do I have to write a
stored procedure where I explicitly call ROLLBACK TO SAVEPOINT?

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

Предыдущее
От: "Don Morrison"
Дата:
Сообщение: Re: Conditional INSERT: if not exists
Следующее
От: "Jasbinder Bali"
Дата:
Сообщение: Shared Objects (Dynamic loading)