On Sun, Sep 11, 2011 at 9:09 PM, Bruce Momjian <br...@momjian.us> wrote: > Robert Haas wrote: >> On Fri, May 6, 2011 at 9:50 PM, Grzegorz Szpetkowski >> <gszpetkow...@gmail.com> wrote: >> > I have some remark about >> > >> > "Now it is impossible to create orders with product_no entries that do >> > not appear in the products table." >> > >> > http://www.postgresql.org/docs/9.0/static/ddl-constraints.html#DDL-CONSTRAINTS-FK >> [...] >> > >> > There is still possibility to add product_no (exactly NULL) value, >> > which does not appear (cannot because of primary key nature) in >> > products table. To get "full solution" you need create orders table as >> > >> > CREATE TABLE orders ( >> > ? ?order_id integer PRIMARY KEY, >> > ? ?product_no integer REFERENCES products (product_no) NOT NULL, >> > ? ?quantity integer >> > ); >> >> I don't think we should change the example, but we could probably >> clarify the wording. > > Any ideas on how to clarify the wording?
Maybe something like this: Now every product_no that appears in the orders table must also appear in the products table. Foreign key constraints are not checked for NULL values, so product_no may also be NULL; we could prohibit this by declaring the column NOT NULL. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-docs