Re: protected ON DELETE CASCADE - Mailing list pgsql-novice

From Murray Hobbs
Subject Re: protected ON DELETE CASCADE
Date
Msg-id 3B856B5C.73DD284A@efone.com
Whole thread Raw
In response to Re: protected ON DELETE CASCADE  ("Oliver Elphick" <olly@lfix.co.uk>)
List pgsql-novice
ok *click* i get it i get it

m


Oliver Elphick wrote:
>
> Murray Hobbs wrote:
>   >
>   >i neglected to show it properly
>   >
>   >have tables A, B, C, D PLUS a few others
>   >
>   >A <- B
>   >
>   >     F
>   >     |
>   >     v
>   >A <- C <- D
>   >     ^
>   >     |
>   >     E
>   >
>   >i want to delete from C and cascade any delete to E or F but not if
>   >there are records in D
>   >
>   >what i have done is to have ON DELETE CASCADE on C's primary
>   >
>   >but force deletes to C through a function that will delete from C only
>   >if there is no records in D
>   >
>   >but i would like to believe there is a better way - a way that does not
>   >require that i do all my deletes through a function
>
> B REFERENCES A ON DELETE CASCADE
> C REFERENCES A ON DELETE CASCADE
> D REFERENCES C ON DELETE NO ACTION
> E REFERENCES C ON DELETE CASCADE
> F REFERENCES C ON DELETE CASCADE
>
> So if there is a deletion in A it cascades to B and C
>
> The deletion in C cascades to E and F, but fails if there is a
> reference in D.  The failure causes a rollback of the transaction and
> thus the deletions in A, B, C, E and F do not happen after all.
>
> --
> Oliver Elphick                                Oliver.Elphick@lfix.co.uk
> Isle of Wight                              http://www.lfix.co.uk/oliver
> PGP: 1024R/32B8FAA1: 97 EA 1D 47 72 3F 28 47  6B 7E 39 CC 56 E4 C1 47
> GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
>                  ========================================
>      "For God hath not appointed us to wrath, but to obtain
>       salvation by our Lord Jesus Christ, Who died for us,
>       that, whether we wake or sleep, we should live
>       together with him."
>                          I Thessalonians 5:9,10

pgsql-novice by date:

Previous
From: "Oliver Elphick"
Date:
Subject: Re: protected ON DELETE CASCADE
Next
From: "Mark D. Leistner"
Date:
Subject: Date Type