pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Martín Marqués <martin@bugs.unl.edu.ar>
To: LeoDeBeo <leodebeo@hotmail.com>
To: pgsql-sql@postgresql.org
Subject: Re: create table
Date: Fri, 4 May 2001 19:17:02 +0300
Message-ID: <01050419170205.07818@bugs> (raw)
In-Reply-To: <9chqd9$21vm$2@news.tht.net>
References: <9chqd9$21vm$2@news.tht.net>

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@unl.edu.ar
Programador, Administrador      |       Centro de Telematica
                       Universidad Nacional
                            del Litoral
-----------------------------------------------------------------



view thread (17+ messages)  latest in thread

Message-ID: <01050419170205.07818@bugs>
Permalink:  ../01050419170205.07818@bugs/
Also on:    postgresql.org/message-id/01050419170205.07818@bugs

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: martin@bugs.unl.edu.ar, leodebeo@hotmail.com
  Subject: Re: create table
  In-Reply-To: <01050419170205.07818@bugs>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox