Re: Foreign key with check?
От | Bruno Wolff III |
---|---|
Тема | Re: Foreign key with check? |
Дата | |
Msg-id | 20050727203759.GA3884@wolff.to обсуждение исходный текст |
Ответ на | Foreign key with check? (Jeff Boes <jeff@endpoint.com>) |
Список | pgsql-sql |
On Wed, Jul 27, 2005 at 16:08:19 -0400, Jeff Boes <jeff@endpoint.com> 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.
В списке pgsql-sql по дате отправления: