Вниз
Скачать: CL | DM;

Можно ли к существующему FOREIGN KEY добавить ON DELEET CASCADE?   Найти похожие ветки 

 
Prohodil Mimo ©   (2005-09-08 12:55) [0]

FB 1.5.2

Можно ли к существующему FOREIGN KEY добавить ON DELEET CASCADE?

ALTER TABLE KOMAND ADD FOREIGN KEY (ID_PAM) REFERENCES PAMATOJ (ID_PAM);

как должен выглядеть запрос?


 
Desdechado ©   (2005-09-08 13:05) [1]

к безымянному (как в примере) вряд ли
к именованному
ALTER TABLE KOMAND
ADD CONSTRAINT FK_KOMAND_PAMATOJ
FOREIGN KEY (ID_PAM) REFERENCES PAMATOJ (ID_PAM);
можно попробовать через системные таблицы


 
Desdechado ©   (2005-09-08 13:08) [2]

RDB$ref_constraints
поле RDB$delete_rule сделать CASCADE
но результат не гарантирую :)


 
Prohodil Mimo ©   (2005-09-08 13:16) [3]

ладно, тогда пересоздам таблицу и все FK к ней, потом данные перезалью.

И попутно ещо вопрос:
можно ли к существуюшему полю добавить DEFAULT ?
через ALTER COLUMN не получилось


 
DSKalugin ©   (2005-09-08 13:21) [4]

ибэксперт для этого пересоздает поле с использованием временного

1
ALTER TABLE ADRESSES ADD IBE$$TEMP_COLUMN
INTEGER DEFAULT  0
2
UPDATE RDB$RELATION_FIELDS F1
SET
F1.RDB$DEFAULT_VALUE  = (SELECT F2.RDB$DEFAULT_VALUE
                        FROM RDB$RELATION_FIELDS F2
                        WHERE (F2.RDB$RELATION_NAME = "ADRESSES") AND
                              (F2.RDB$FIELD_NAME = "IBE$$TEMP_COLUMN")),
F1.RDB$DEFAULT_SOURCE = (SELECT F3.RDB$DEFAULT_SOURCE FROM RDB$RELATION_FIELDS F3
                        WHERE (F3.RDB$RELATION_NAME = "ADRESSES") AND
                              (F3.RDB$FIELD_NAME = "IBE$$TEMP_COLUMN"))
WHERE (F1.RDB$RELATION_NAME = "ADRESSES") AND
     (F1.RDB$FIELD_NAME = "ID_TOWN")
3
ALTER TABLE ADRESSES DROP IBE$$TEMP_COLUMN


 
Val ©   (2005-09-08 13:29) [5]

> Prohodil Mimo ©   (08.09.05 13:16)
корректно удалить текущий констреинт и создать новый с тем же именем но с on delete cascade. причем тут табличные данные-то?


 
Prohodil Mimo ©   (2005-09-08 15:01) [6]

Val ©   (08.09.05 13:29) [5]

naschot dannih ja poshutil... tablica jesho pusta :o)

Spasibo vsem za otveti!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
14-1127988037
Friend
2005-09-29 14:00
2005.10.23
res при помощи brcc32.exe


2-1127737453
Новичёк
2005-09-26 16:24
2005.10.23
Работа с DBF


4-1124295704
TG
2005-08-17 20:21
2005.10.23
Хочу написать звонилку


1-1127976591
Николай1
2005-09-29 10:49
2005.10.23
Конфликт XPManifest и форм загруженных из Dll


1-1128148095
heady
2005-10-01 10:28
2005.10.23
Скачать HTML-код странички в Memo




   Наверх