Help with trigger that updates a row prior to a potentially aborted deletion?

Поиск
Список
Период
Сортировка
От Simon Kinsella
Тема Help with trigger that updates a row prior to a potentially aborted deletion?
Дата
Msg-id 20060301133041.8EFFA19B797@smtp03l.fasthosts.co.uk
обсуждение исходный текст
Ответы Re: Help with trigger that updates a row prior to a potentially  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
Replication - state of the art?  (Bryce Nesbitt <bryce1@obviously.com>)
Re: Help with trigger that updates a row prior to a potentially aborted deletion?  (Andrew Sullivan <ajs@crankycanuck.ca>)
Список pgsql-sql
Hi all,

I have a situation where a DELETE operation may (correctly) fail due to a
RESTRICT FK constraint. If so, I need to set a flag in the row indicating
that it has been marked for deletion so that I can disregarded in subsequent
queries.

I'm trying to achieve this with a BEFORE DELETE trigger, which would set the
'marked_for_deletion' field to TRUE before attempting the delete proper.
Then if the DELETE fails the row would still be tagged and I'd be happy.
Problem is, when the DELETE operation fails with a RESTRICT VIOLATION error
the entire operation is rolled back, including the BEFORE triggers, leaving
me back where I started.

Is there anyway to get the DELETE operation, or more specifically the FK
constraint, to fail silently, i.e. to skip over the failed operation and not
throw an exception? I'm really racking my brains on this one but not really
getting anywhere!

I have sample data defs to play with if that would be helpful.

Thanks in advance!

Simon Kinsella




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

Предыдущее
От: "A. Kretschmer"
Дата:
Сообщение: Re: Index to support LIKE '%suffix' queries
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: regarding grant option