From: | Markus Bertheau <twanger(at)bluetwanger(dot)de> |
---|---|
To: | Josh Berkus <josh(at)agliodbs(dot)com> |
Cc: | olly(at)lfix(dot)co(dot)uk, pgsql-sql(at)postgresql(dot)org |
Subject: | Re: multi column foreign key for implicitly unique columns |
Date: | 2004-08-18 06:00:21 |
Message-ID: | 1092808820.2728.27.camel@teetnang |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
В Срд, 18.08.2004, в 04:45, Josh Berkus пишет:
> Markus,
Hi Josh,
> Hey, I see you figured out a workaround to writing a trigger for this. Let's
> see if we can make it work.
>
> ERROR: there is no unique constraint matching given keys
> for referenced table "objects"
>
> The reason for this is that CASCADE behavior gets quite odd when there is an
> FK reference to a non-unique column. We used to allow it, in 7.1, and I was
> responsible for a number of bug reports that led to us disallowing it. It
> should be theoretically implementable and relationally sound but will require
> a *lot* of troubleshooting to make work. So far, nobody's really interested
> enough.
>
> However, you have an easy way out:
>
> ALTER TABLE objects ADD CONSTRAINT obj_unq_2 UNIQUE (name, class_name);
I was worried about the performance hit because (name, class_name) will
always be unique, yet they will be checked for uniqueness.
Thanks
--
Markus Bertheau <twanger(at)bluetwanger(dot)de>
From | Date | Subject | |
---|---|---|---|
Next Message | Theo Galanakis | 2004-08-18 06:11:55 | |
Previous Message | Joe Conway | 2004-08-18 05:15:59 | Re: SQL Challenge: Arbitrary Cross-tab |