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 по дате отправления: