Re: circular REFERENCES

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Gregory Seidman <gss+pg(at)cs(dot)brown(dot)edu>
Cc: postgres list <pgsql-general(at)postgresql(dot)org>
Subject: Re: circular REFERENCES
Date: 2002-06-18 22:13:19
Message-ID: 20020618151100.X65974-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, 18 Jun 2002, Gregory Seidman wrote:

> I would like to define two tables:
>
> CREATE TABLE Person (
> id SERIAL not null,
> -- ...
> team_membership integer default null REFERENCES Team(id),
> primary key (id)
> );
> CREATE TABLE Person (
> id SERIAL not null,
> -- ...
> captain integer not null REFERENCES Person(id),
> primary key (uid)
> );
>
> Of course, I can't define them that way. Is there any better way to take
> care of this than to leave out the REFERENCES in the first table and add it
> with ALTER TABLE ADD CONTRAINT after the second table has been defined?

I assume you meant Team on the second create table. Pretty much you will
need to use alter table to add one of them. In addition, are you sure
you want those to be immediately checked? Generally when you have a
recursive structure like that one or both of the constraints is deferred.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Gregory Seidman 2002-06-18 22:28:14 Re: circular REFERENCES
Previous Message Ian Harding 2002-06-18 22:12:06 CAST(null as date)...