Re: Foreign keys: how to turn referential integrity

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Jean-Christian Imbeault <jc(at)mega-bucks(dot)co(dot)jp>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Foreign keys: how to turn referential integrity
Date: 2002-08-23 05:41:41
Message-ID: 20020822223851.R15526-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, 23 Aug 2002, Jean-Christian Imbeault wrote:

> I have a table of line_items and distributor_orders somewhat like this:
>
> create table DIST_ORDER (
>
> id serial primary key,
> distributor_id integer references DISTRIBUTORS(id),
> submit_time timestamp (0) without time zone not null
> );
>
> create table MEMBER_INVOICE_LI (
>
> invoice_id integer references INVOICE_CART(id),
> id integer not null, --line item number
> dist_order_id integer references DIST_ORDER(id),
> prod_id char(12) references PRODUCTS(id),
> quantity int2 not null,
> price integer not null,
> shipped boolean not null,
>
> primary key (invoice_id, id)
> );
>
> The problem I have is that distributor orders are only generated at the
> end of the day, so when a customer creates an order, a line item is
> created *but* there is no distributor order to assign it to yet.
>
> How can I set the constraint to check referential integrity or let the
> value be null?
>
> Is this possible? Is it recommendable?

Are you running into a problem? NULLs should be allowed in single column
references barring a separate not null constraint (it's a little more
complicated for multiple column foreign keys)

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tommi Maekitalo 2002-08-23 05:54:56 Re: Mysql -> PgSQL
Previous Message Jean-Christian Imbeault 2002-08-23 05:09:50 Foreign keys: how to turn referential integrity constraint off