Re: Referential Integrity

jose' soares <sferac@bo.nettuno.it>

From: "Jose' Soares Da Silva" <sferac@bo.nettuno.it>
To: Mike Lemler <coronach@datacruz.com>
Cc: pgsql-sql@postgreSQL.org
Date: 1998-05-14T10:57:09Z
Lists: pgsql-sql
On Wed, 13 May 1998, Mike Lemler wrote:

> I haven't been able to find documentation on how to implement referential
> integrity between tables with postgres via sql.  Could someone please post
> an example.  Thanks.
> 
> Michael.
> 
   Table Constraint definition:

      [ CONSTRAINT name ] 
        { PRIMARY KEY constraint | 
          UNIQUE constraint | 
          CHECK constraint }

   Column Constraint definition: 

      [ CONSTRAINT name ] 
        { NOT NULL constraint |
          PRIMARY KEY constraint | 
          UNIQUE constraint | 
          CHECK constraint }  

examples:

   --defines a CHECK column constraint:
   --
   CREATE TABLE distributors (
        did      DECIMAL(3) CHECK (did > 100),
        name     VARCHAR(40)
        );

   --defines a CHECK table constraint:
   --
   CREATE TABLE distributors (
        did      DECIMAL(3),
        name     VARCHAR(40)
        CONSTRAINT con1 CHECK (did > 100 AND name > '')
        );

PS: FOREIGN KEY is not implemented yet you can use TRIGGERS instead
    take a look at ...contrib/refint*
                                                     Jose'