| From: | Michaël Lemaire <adminsys(at)rodacom(dot)fr> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Delete triggers order in delete cascade (pg 8.3.7). |
| Date: | 2009-07-02 09:56:50 |
| Message-ID: | 20090702115650.5a93fcb8@altair |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Hi all.
I've come across a problem with delete cascade.
I have three tables A, B and C.
Table B has a foreign key on A with delete cascade.
Table C has a foreign key on B with delete cascade.
So, we have this reference chain: C->B->A
All three tables have an 'on delete' trigger.
My problem is, when I delete a row from A, the delete triggers are
fired in the order A then B then C, which is the opposite of what I
expected (the row from B should be deleted before the A one, or the
reference constraint would break).
This happens with 'after' and 'before' triggers.
I really need the order to be C then B then A.
Is there a reason for the triggers to fire in this order ? Has anyone
an idea to reverse it ?
Thanks in advance.
Michaël Lemaire
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Greg Stark | 2009-07-02 11:27:57 | Re: 1 Sequence per Row i.e. each customer's first order starts at 1 |
| Previous Message | Durumdara | 2009-07-02 09:52:31 | An example needed for Serializable conflict... |