Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обновления


Xim ©   (2004-04-09 17:17:00) 

Уважаемые мастера, пробую разобраться с 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".


XanderMan   (2004-04-09 20:51:00) [1]

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

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

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


Desdechado   (2004-04-09 18:26:00) [2]

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


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

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


Xim   (2004-04-09 17:24:00) [4]

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


Desdechado   (2004-04-09 17:20:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо