On Wed, Jul 27, 2005 at 16:08:19 -0400, Jeff Boes <[EMAIL PROTECTED]> wrote: > Given a table like this: > > create table primary ( > a integer primary key, > b boolean > ); > > And another like this: > > create table secondary ( > a integer, > some_other_fields > ); > > > I would like a foreign key constraint on the "secondary" table that > looks something like: > > foreign key (a, true) references primary (a, b) > > That is, a row in "secondary" is allowed to reference a row in "primary" > if and only if that referenced row has (b = true).
If what you are saying is that all entries in secondary need to reference a row in primary and in addition the referenced row must have b true, then you can do this fairly simply using a bit of extra space. Add a row b to secondary with a constraint that b = true. Then make the foreign key reference on both a and b. ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster