Re: create table - Mailing list pgsql-sql

From Martín Marqués
Subject Re: create table
Date
Msg-id 01050419170205.07818@bugs
Whole thread Raw
In response to create table  (LeoDeBeo <leodebeo@hotmail.com>)
List pgsql-sql
On Dom 29 Abr 2001 22:34, LeoDeBeo wrote:
> can anybody explain me the syntax of Create Table documentation??
>
> CREATE [ TEMPORARY | TEMP ] TABLE table (
>         column type
>         [ NULL | NOT NULL ] [ UNIQUE ] [ DEFAULT value ]
>         [ column_constraint_clause | PRIMARY KEY } [ ... ] ]
>         [ , ... ]
>         [ , PRIMARY  KEY ( column [, ... ] ) ]
>         [ , CHECK (condition) ]
>         [ , table_constraint_clause ]
>         ) [ INHERITS ( inherited_table [, ... ] ) ]
>
> i don't understand what the curly brace means after PRIMARY KEY (where is
> the other matching brace? ). It must have something to do with the fact
> that a 'column type' pair ( with options ) can occur more than once, but is
> this syntax right?
> i also don't understand what the [ ... ] and [, ... ] means. I do know that
> brackets denote options and | alternatives.

My docs (7.1) look like this:

CREATE [ TEMPORARY | TEMP ] TABLE table_name (   { column_name type [ column_constraint [ ... ] ]     |
table_constraint}  [, ... ]   ) [ INHERITS ( inherited_table [, ... ] ) ]
 

where column_constraint can be:
[ CONSTRAINT constraint_name ]
{ NOT NULL | NULL | UNIQUE | PRIMARY KEY | DEFAULT value | CHECK (condition) | REFERENCES table [ ( column ) ] [ MATCH
FULL| MATCH PARTIAL ]  [ ON DELETE action ] [ ON UPDATE action ]  [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED
|INITIALLY IMMEDIATE 
 
]
}

and table_constraint can be:
[ CONSTRAINT constraint_name ]
{ UNIQUE ( column_name [, ... ] ) | PRIMARY KEY ( column_name [, ... ] ) | CHECK ( condition ) | FOREIGN KEY (
column_name[, ... ] ) REFERENCES table [ ( column [, ... ] ) 
 
]  [ MATCH FULL | MATCH PARTIAL ] [ ON DELETE action ] [ ON UPDATE action ]  [ DEFERRABLE | NOT DEFERRABLE ] [
INITIALLYDEFERRED | INITIALLY IMMEDIATE 
 
]
}

Looks clear to me. :-)

-- 
El mejor sistema operativo es aquel que te da de comer.
Cuida tu dieta.
-----------------------------------------------------------------
Martin Marques                  |        mmarques@unl.edu.ar
Programador, Administrador      |       Centro de Telematica                      Universidad Nacional
        del Litoral
 
-----------------------------------------------------------------


pgsql-sql by date:

Previous
From: Joel Burton
Date:
Subject: Re: create table
Next
From: Cliff Crawford
Date:
Subject: Re: Dateadd