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

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

IB (ссылочная целостность) [D5, IB5.x]


whiteman ©   (2002-07-16 10:29:00) 

Мастера, кто поможет?
Есть 2 таблицы (InterBase) :
1) T1 ( ID_T1, N_T1 )
2) T2 ( ID_T2, N_T2, ID_T1).
Делаю оператор:
ALTER TABLE T2
ADD FOREIGN KEY(ID_T1) REFERENCES T1.

Почему при удалении данных из T1 удаляются
подчиненные им данные в T2, причем без
всякой ругани. Или ссылочная целостность
в IB работает иначе, чем, например в Paradox?
И как сделать ее правильно?


whiteman   (2002-07-16 15:06:00) [1]

Простите, что отнял время!
Нашел ошибку она была совсем в другом.
Все работает. Спасибо всем, кто откликнулся!
Еще раз извините!!!
с уважением, whiteman.


Desdechado   (2002-07-16 12:15:00) [2]

вообще-то если есть внешний ключ, то нельзя удалить запись на которую он ссылается, если не стоит каскадное удаление.
а вопрос противоречив. нельзя ли сформулировать членораздельно?


Val   (2002-07-16 11:08:00) [3]

ALTER TABLE T2
ADD constraint FK_T2_ID_T1 FOREIGN KEY(ID_T1) REFERENCES T1(ID_T1) on delete cascade;


Johnmen   (2002-07-16 11:01:00) [4]

Каскадное удаление должно быть...


whiteman   (2002-07-16 10:49:00) [5]

Извините, вначале задал
вопрос с ошибкой. Условия те же.
Вопрос такой:
При удалении данных из Т1, данные
из T2 не удаляются, и, как следствие
из приложения уже не доступны, т.к.
потерян ключ родительской таблицы?
Пробовал по всякому, но нужного
не добился. Посоветуйте!!!


Val   (2002-07-16 10:38:00) [6]

ALTER TABLE T2
ADD FOREIGN KEY(ID_T1) REFERENCES T1(ID_T1)


Наверх

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