On 5 Dec 2002 at 12:09, Christopher Kings-Lynne wrote:

> > > Isn't it identical?  The CONSTRAINT <const> is SQL standard optional
> clause
> > > for all commands that add constraints.
> >
> > Except that one is ADD CONSTRAINT, the other is an ADD FOREIGN KEY.
> > They are similar in nature but different overall.
> 
> I think you're getting a little confused here, Dan.
> 
> http://www3.us.postgresql.org/users-lounge/docs/7.3/postgres/sql-altertable.
> html
> 
> There is only one command for adding constraints to a table.  It has this
> syntax:
> 
> ALTER TABLE [ ONLY ] table [ * ]
>     ADD table_constraint
> 
> The table_constraint clause is defined like this (basically):
> 
> [CONSTRAINT blah] (PRIMARY KEY or UNIQUE or  FOREIGN KEY) ...
> 
> So, the CONSTRAINT blah clause allows you to specify a name for any of the 3
> types of constraint: primary key, unique or foreign key.  There's nothing
> special about foreign keys in this case.
> 
> If you don't put in the CONSTRAINT blah clause, you get an automatically
> assigned constraint name.

Regardless of what is documented, the following is valid and works:

ALTER TABLE slave
   ADD FOREIGN KEY (master_id)
   REFERENCES master (id) ON DELETE CASCADE;
-- 
Dan Langille : http://www.langille.org/


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly

Reply via email to