Главная страница
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.016 c
4-68124
cain
2003-05-21 09:54
2003.07.21
мышь над компонентом


1-67776
Smart
2003-07-08 07:25
2003.07.21
Проблема с TListView


14-68025
_Bob_
2003-06-27 14:26
2003.07.21
Забыл пароль Администраторский пароль на XP


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


14-67984
VDen
2003-07-03 17:44
2003.07.21
Выполнить код из ресурса