Add Foreign Keys To Table

Поиск
Список
Период
Сортировка
От Rich Shepard
Тема Add Foreign Keys To Table
Дата
Msg-id alpine.LNX.2.00.1107071032330.20399@salmo.appl-ecosys.com
обсуждение исходный текст
Ответы Re: Add Foreign Keys To Table  (Alan Hodgson <ahodgson@simkin.ca>)
Re: Add Foreign Keys To Table  (John R Pierce <pierce@hogranch.com>)
Re: Add Foreign Keys To Table  ("Dr. Tingrong Lu" <lutingrong@hotmail.com>)
Список pgsql-general
   I'm having difficulty finding the correct syntax to modify an existing
table. The modification is to add two columns, each a foreign reference to
the two key columns of another table.

   The other table:

CREATE TABLE station_type (
   sta_type VARCHAR(50),
   secondary_type VARCHAR(50),
   natural_indic BOOL,
   PRIMARY KEY (sta_type, secondary_type)
   );

   When I try to alter the other table to add columns:
sta_type VARCHAR(50) REFERENCES station_type(sta_type) and
secondary_type VARCHAR(50) REFERENCES station_type(secondary_type)
I get syntax errors. For example,

alter table station_information add column sta_type varchar(50) references
station_type(sta_type);
ERROR:  there is no unique constraint matching given keys for referenced
table "station_type"

alter table station_information add column sta_type varchar(50) not null
references station_type(sta_type);
ERROR:  there is no unique constraint matching given keys for referenced
table "station_type"

alter table station_information add column sta_type varchar(50)
unique not null references station_type(sta_type);
NOTICE:  ALTER TABLE / ADD UNIQUE will create implicit index
"station_information_sta_type_key" for table "station_information"
ERROR:  there is no unique constraint matching given keys for referenced
table "station_type"

   Reading the alter table document page for 9.x does not show me what I'm
doing incorrectly.

Rich

В списке pgsql-general по дате отправления:

Предыдущее
От: Rick Genter
Дата:
Сообщение: Re: Insufficient privileges.
Следующее
От: mike beeper
Дата:
Сообщение: Creating temp tables inside read only transactions