Re: Constraints/On Delete... - Mailing list pgsql-general

From Stephan Szabo
Subject Re: Constraints/On Delete...
Date
Msg-id 20030104091836.Y21507-100000@megazone23.bigpanda.com
Whole thread Raw
In response to Re: Constraints/On Delete...  ("Boget, Chris" <chris@wild.net>)
List pgsql-general
On Sat, 4 Jan 2003, Boget, Chris wrote:

> > ALTER TABLE "second" DROP CONSTRAINT "$1";
>
> So the reason mine wasn't working (which looks exactly
> like yours) is because there was the above constraint on
> the table?  What is the $1?  How can I view the existing
> constraints for any particular table?

Not quite.  In your example, you had foreign key (record_num)
references "first"("record_num") which wasn't the correct column to be
referencing from so the data didn't line up correctly.

"$1" is the default name for the first unnamed check/fk constraint on the
table (as of 7.3).

and I think \d <table> will show the constraints now.

> > No. Referential actions are applied on changes to the primary
> > key side of the constraint (in this case "first"), so deletes
> > from first cause actions on second.
>
> Ok, I just wanted to make sure.  It just looked like it was the
> other way around.  Because it appeared that the pointer (the
> "references") was going from "second" to "first".  I guess that
> when records are deleted from the "first", it asks what tables are
> referencing one of it's columns and it's not that it implicitely
> already knows..?

When the constraint is added, triggers are added to first that do the
action or check against second.


pgsql-general by date:

Previous
From: "Boget, Chris"
Date:
Subject: Re: Constraints/On Delete...
Next
From: Stephan Szabo
Date:
Subject: Re: Constraints/On Delete...