Вниз
Скачать: 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
1-1128148095
heady
2005-10-01 10:28
2005.10.23
Скачать HTML-код странички в Memo


2-1128011858
йцукен
2005-09-29 20:37
2005.10.23
как узнать имя компа?


6-1120433369
Galiaf
2005-07-04 03:29
2005.10.23
Как узнать номер отключившегося клиента в TServerSocket?


3-1126085667
2bj
2005-09-07 13:34
2005.10.23
переход фокуса между компонентами на DBCtrlGrid-е


4-1124414829
Kripton
2005-08-19 05:27
2005.10.23
Что было нажато: Да или Нет?




   Наверх