Обсуждение: Trigger which fires on commit? (Multi-table intergrity constraint)

Поиск
Список
Период
Сортировка

Trigger which fires on commit? (Multi-table intergrity constraint)

От
Stephane Bortzmeyer
Дата:
Hello,

[Question already asked but may be badly explained. I rephrase it.]

I have several tables and an integrity constraint which spans several
tables (for an Internet registry, a table Domains, a table Hosts and a
table Nameservers which links them: a Domain needs >= 2
nameservers). The tables are updated in the same transaction and I
want the database to be OK after the commit.

I can check many things from triggers but apparently triggers can only
be fired for a statement (like INSERT), not for a whole transaction.

Oracle supports ON COMMIT triggers and they solve nicely this
problem. But apparently PostgreSQL does not. Any idea?



Re: Trigger which fires on commit? (Multi-table intergrity constraint)

От
Richard Huxton
Дата:
On Thursday 08 Aug 2002 9:22 am, Stephane Bortzmeyer wrote:
> Hello,
>
> [Question already asked but may be badly explained. I rephrase it.]
>
> I have several tables and an integrity constraint which spans several
> tables (for an Internet registry, a table Domains, a table Hosts and a
> table Nameservers which links them: a Domain needs >= 2
> nameservers). The tables are updated in the same transaction and I
> want the database to be OK after the commit.
>
> I can check many things from triggers but apparently triggers can only
> be fired for a statement (like INSERT), not for a whole transaction.
>
> Oracle supports ON COMMIT triggers and they solve nicely this
> problem. But apparently PostgreSQL does not. Any idea?

How about a num_ns_per_domain table - insert into that and add a constraint
there. Not sure about performance issues.

- Richard Huxton