Re: Abort transaction on duplicate key error
От | Haller Christoph |
---|---|
Тема | Re: Abort transaction on duplicate key error |
Дата | |
Msg-id | 200109271059.MAA29400@rodos обсуждение исходный текст |
Ответ на | Re: Abort transaction on duplicate key error (Christof Petig <christof@petig-baender.de>) |
Список | pgsql-hackers |
Thanks a lot. Now that I've read your message, I wonder why I was asking something trivial. Christoph > > In a C application I want to run several > > insert commands within a chained transaction > > (for faster execution). > > >From time to time there will be an insert command > > causing an > > ERROR: Cannot insert a duplicate key into a unique index > > > > As a result, the whole transaction is aborted and all > > the previous inserts are lost. > > Is there any way to preserve the data > > except working with "autocommit" ? > > What I have in mind particularly is something like > > "Do not abort on duplicate key error". > > Simply select by the key you want to enter. If you get 100 an insert is ok, > otherwise do an update. Oracle has a feature called 'insert or update' which > follows this strategy. There also was some talk on this list about > implementing this, but I don't remember the conclusion. > > BTW: I strongly recommend staying away from autocommit. You cannot > control/know whether/when you started a new transaction. > > Christof > > PS: I would love to have nested transactions, too. But no time to spare ... > Perhaps somebody does this for 7.3? >
В списке pgsql-hackers по дате отправления: