From: | Jan Wieck <JanWieck(at)Yahoo(dot)com> |
---|---|
To: | Murray Hobbs <murray(at)efone(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org, pgsql-novice(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org |
Subject: | Re: protected ON DELETE CASCADE |
Date: | 2001-08-23 13:55:37 |
Message-ID: | 200108231355.f7NDtb301413@jupiter.us.greatbridge.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-novice pgsql-sql |
Murray Hobbs wrote:
>
> here's my problem
>
> i have tables A, B, C, D
>
> A <- B
> A <- C <- D
>
> i want to maintain integrity so that if A is deleted from then so is
> anything referencing from B and C - no problem ON DELETE CASCADE
>
> but if there are any D's that point back to A (through composite key in
> C) i don't want the delete to go ahead - at all - i want an error
> message and condition
So B and C reference A with ON DELETE CASCADE, while D
references C without it. The default behaviour of a foreign
key constraint is ON DELETE NO ACTION, which confusingly
enough aborts the transaction (it's defined that way in the
SQL standard, don't ask me why they called it NO ACTION).
Thus a deletion from A will cascaded delete from C, but then
the constraint on D will abort the transaction if this
automatic delete from C would orphan a reference from D.
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck(at)Yahoo(dot)com #
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Jan Wieck | 2001-08-23 14:09:19 | Re: SELECT FOR UPDATE |
Previous Message | Fernando Schapachnik | 2001-08-23 13:54:19 | Re: Postgres and special character |
From | Date | Subject | |
---|---|---|---|
Next Message | Gregory Wood | 2001-08-23 14:48:19 | Re: protected ON DELETE CASCADE |
Previous Message | Oliver Elphick | 2001-08-23 13:24:18 | Re: integrity and inherit |
From | Date | Subject | |
---|---|---|---|
Next Message | Gregory Wood | 2001-08-23 14:48:19 | Re: protected ON DELETE CASCADE |
Previous Message | Albert Reiner | 2001-08-23 12:12:32 | Re: [NOVICE] protected ON DELETE CASCADE |