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

Обновления   Найти похожие ветки 

← →
Xim   (2004-04-09 17:17) [0]

Уважаемые мастера, пробую разобраться с Firebird.
Вопрос такой - есть 2 табл: T1- ключ по р1, у T2 тоже есть это поле р1, по нему строится FOREIGN KEY. У Т1 - триггер на обновление before update.
Когда я в IBExpert пытаюсь менять значение ключевого поля (не совпадает с оставшимися знач-ми)получаю ошибку:

violation of FOREGIN KEY constraint "".
violation of FOREGIN KEY constraint "FK_T2_T1" on table "T1".


← →
Desdechado ©   (2004-04-09 17:20) [1]

дык, у тебя на эту запись ссылается другая таблица, как же ты хочешь менять? меняй тогда в подчиненной сначала, а потом в главной


← →
Xim   (2004-04-09 17:24) [2]

А если нужно наоборот - изменить наименование, чтобы изменить все записи с подчиненной таблице - это можно реализовать?


← →
Xim   (2004-04-09 17:31) [3]

Когда пытаюсь изменять значение в подчиненной таблице - та же ошибка.


← →
Desdechado ©   (2004-04-09 18:26) [4]

если наименование - ключевое поле, то в библиотеку читать правила нормализации
если не ключевое. то меняешь наименование, а все остальное остается


← →
XanderMan ©   (2004-04-09 20:51) [5]

Использовать при создании внешнего ключа каскадное обновление:

alter table TABLE1
add constraint FK_
foreign key (CODE)
references TABLE2(CODE)
on delete CASCADE
on update CASCADE

С наилучшими пожеланиями



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

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



Память: 0.46 MB
Время: 0.028 c
7-1075204090
SPIRIT
2004-01-27 14:48
2004.04.11
Как спрятать панель задач ???


7-1079410905
Kair
2004-03-16 07:21
2004.04.11
Ctrl + Alt + Del


14-1079665134
Думкин
2004-03-19 05:58
2004.04.11
С днем рождения! 19 марта


7-1076273541
VID
2004-02-08 23:52
2004.04.11
Два коннекта к интернету


1-1079855178
Cerber
2004-03-21 10:46
2004.04.11
Чужие программы.




   Наверх