Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.21;
Скачать: CL | DM;

Вниз

Не могу создать внешний ключ   Найти похожие ветки 

 
RDA ©   (2003-06-26 17:06) [0]

Вот листинг
CREATE DOMAIN ID AS INTEGER NOT NULL;

CREATE TABLE PID (
ORG ID NOT NULL,
PIDID ID NOT NULL,
PARENT ID DEFAULT "-1" NOT NULL,
KIND ID DEFAULT "0" NOT NULL,
NAZV NAZV070 NOT NULL COLLATE WIN1251);

CREATE TABLE FIZ (
ORG ID NOT NULL,
PID ID NOT NULL,
SOTR ID NOT NULL,
IDKOD NAZV010 NOT NULL COLLATE WIN1251,
FNAME FIO COLLATE WIN1251
....)

CREATE TABLE SOTR (
ORG ID NOT NULL,
PID ID NOT NULL,
ID ID NOT NULL,
GOS LOGIK NOT NULL,
DATAOPEN DATA,
DATACLOSE DATA
....)

ALTER TABLE FIZ ADD CONSTRAINT PK_FIZ PRIMARY KEY (ORG, PID, SOTR);
ALTER TABLE PID ADD CONSTRAINT PK_PID PRIMARY KEY (ORG, PIDID);
ALTER TABLE SOTR ADD CONSTRAINT PK_SOTR PRIMARY KEY (ORG, PID, ID);

Не могу связать внешним ключом таблицы SOTR и FIZ с таблицей PID
ALTER TABLE SOTR ADD CONSTRAINT FK_SOTR_PID FOREIGN KEY (PID) REFERENCES PID (PIDID) ON DELETE CASCADE ON UPDATE CASCADE;


 
Zacho ©   (2003-06-26 18:34) [1]

FK может ссылаться только на первичный ключ или UNIQUE CONSTRAINT.
Так что надо (если это именно то, что тебе надо) так:
ALTER TABLE SOTR ADD CONSTRAINT FK_SOTR_PID FOREIGN KEY (ORG,PID) REFERENCES PID (ORG,PIDID) ON DELETE CASCADE ON UPDATE CASCADE;


 
RDA ©   (2003-06-26 18:43) [2]

А разве он не может ссылаться на поле входящее в состав первичного ключа?
Если нет то как быть. Создавать для этого поля уникальный индекс и потом вводить его в состав первичного ключа?


 
Zacho ©   (2003-06-26 19:05) [3]


> RDA © (26.06.03 18:43)

Нет, только на первичный ключ полностью. Если не устраивает связь по ORG, PIDID то напиши подробнее как именно должны быть связаны таблицы.



Страницы: 1 вся ветка

Текущий архив: 2003.07.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
6-67934
Шишкин Илья
2003-05-13 21:14
2003.07.21
Как проверить соединение с интернет?


1-67775
Семен Сорокин
2003-07-08 14:01
2003.07.21
Отрисовка RoundRect


7-68102
Dimaz-z
2003-05-11 21:19
2003.07.21
Команды модема.


3-67706
Sodom
2003-06-27 11:12
2003.07.21
Ускорение работы с базой.


3-67686
RDA
2003-06-26 17:06
2003.07.21
Не могу создать внешний ключ