Re: Abort transaction on duplicate key error
От | Christof Petig |
---|---|
Тема | Re: Abort transaction on duplicate key error |
Дата | |
Msg-id | 3BB303DD.A33E59C0@petig-baender.de обсуждение исходный текст |
Ответ на | Abort transaction on duplicate key error (Haller Christoph <ch@rodos.fzk.de>) |
Ответы |
Re: Abort transaction on duplicate key error
|
Список | pgsql-hackers |
Haller Christoph wrote: > My first message: > 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 по дате отправления: