Re: create table

From: Martín Marqués <martin(at)bugs(dot)unl(dot)edu(dot)ar>
To: LeoDeBeo <leodebeo(at)hotmail(dot)com>, pgsql-sql(at)postgresql(dot)org
Subject: Re: create table
Date: 2001-05-04 16:17:02
Message-ID: 01050419170205.07818@bugs
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE
]
}

Looks clear to me. :-)

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

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Stephan Szabo 2001-05-04 21:34:14 Re: Dateadd
Previous Message Jeff Self 2001-05-04 15:50:31 Re: "correct" sorting.