From: "A(dot)M(dot)" <agentm(at)cmu(dot)edu>
To: pgsql-sql(at)postgresql(dot)org
Subject:
Date: 2002-11-30 03:50:27
Message-ID: DCD7116F-0416-11D7-98F3-0030657192DA@cmu.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I have a reference which is guaranteed not to have a valid reference
(preferably NULL) until it is processed later. How can I defer a
reference entry so that both NULL and an actual reference are valid in
the reference field? The processing which I speak of takes place later
and not in the same transaction (thus making DEFERRABLE useless,
right?). A solution I thought of is to forget keys and just make it an
INT8 since I am also guaranteed that its referenced item is never
deleted. But certainly, there is a more reliable way to do it, right?
In summary, what I want is

field INT8 REFERENCES sometable NULL OK

or

field INT8 CHECK(SELECT id FROM someothertable WHERE field=id)

(can I do this? this allows NULL right?)

The rule is ref2 can either be a valid reference or NULL.
CREATE TABLE thetable(
ref2 INT8 REFERENCES someothertable,
...
);

Thanks for any help.
><><><><><><><><><
AgentM
agentm(at)cmu(dot)edu

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2002-11-30 04:28:28 Re:
Previous Message Mike Winter 2002-11-29 22:23:58 Question about slow Select when using 'IN'.