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

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

Можно временно отключить Foreign Key? [D3, IB4.x]


Серж ©   (2003-07-07 10:10:00) 

Есть главная таблица Т1, к ней подвязана Т2, а к Т2 подвязана Т3. Вот мне надо поменять в Т2 и Т3 данные, а всё завязано и за просто так не даётся. Можно временно отключить Foreign Key? Или ключи надо удалять, менять данные и обратно ключи строить?


kaif   (2003-07-07 13:11:00) [1]

Именованный констрейнт в IB очень легко удаляется и очень быстро создается заново. Поэтому это быстрее сделать, чем обсуждать. Однако я не уверен, что если уже сейчас FK ругается при апдейтах, что он не будет ругаться при своем воссоздании...
Так можно вообще без констрейнта остаться...


Sandman25   (2003-07-07 11:01:00) [2]

Жаль.


Alexandr   (2003-07-07 10:58:00) [3]

нету


Sandman25   (2003-07-07 10:55:00) [4]

В Informix есть следующая команда SQL:
Set Constraints Имя Deferred,
где Имя - либо имя конкретного constraint, либо All для отключения всех constraint в БД.
Команда работает только внутри транзакции.
Поищите что-нибудь подобное в IB, возможно, и есть.

PS. Если в IB подобного нет, просьба ногами не бить :)


Alexandr   (2003-07-07 10:24:00) [5]

именно удалять и строить...
Но неправильно это...


Наверх

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