Re: Setting a FK to look at only selected rows in the 'look-up' table...
- From: "Sean Davis" <sdavis2(at)mail(dot)nih(dot)gov>
- To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
- Cc: "Greg Cocks" <gcocks(at)stoller(dot)com>, "PostgreSQL List - Novice" <pgsql-novice(at)postgresql(dot)org>
- Subject: Re: Setting a FK to look at only selected rows in the 'look-up' table...
- Date: Fri, 28 Dec 2007 22:28:39 -0500
- Message-id: <264855a00712281928t100fd3c5wee491a09561a3507@mail.gmail.com> <text/plain>
On Dec 28, 2007 10:11 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> "Sean Davis" <sdavis2(at)mail(dot)nih(dot)gov> writes:
> > On Dec 28, 2007 7:01 PM, Greg Cocks <gcocks(at)stoller(dot)com> wrote:
> >> I would like to restrict the foreign key for d_borehole.depth_unit to
> be
> >> only those values in r_unit.unit_id where r_unit.unit_length = 'length'
> (
> >> i.e., so that only applicable 'length' units can be utilized for the
> >> depths (feet, metres, inches, etc))
>
> > This cannot be done with foreign keys I don't think.
>
> Maybe I missed something, but couldn't a two-column foreign key
> constraint on (value, unit) be made to serve the purpose?
>
Yep. If he modifies his schema somewhat to include the extra column in the
first table.
Sean
Home |
Main Index |
Thread Index