Re: 7.4 - TODO : alter table drop foreign key

From: "Dan Langille" <dan(at)langille(dot)org>
To: "Christopher Kings-Lynne" <chriskl(at)familyhealth(dot)com(dot)au>
Cc: "PostgreSQL-development" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 7.4 - TODO : alter table drop foreign key
Date: 2002-12-05 20:24:59
Message-ID: 3DEF6FCB.30093.74C3BAC@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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/

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2002-12-05 20:27:23 Re: PQnotifies() in 7.3 broken?
Previous Message Bruce Momjian 2002-12-05 20:16:35 Re: PQnotifies() in 7.3 broken?