Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.05;
Скачать: CL | DM;

Вниз

DELETE FROM   Найти похожие ветки 

 
Пётр   (2007-07-10 15:41) [0]

При нажатии на кнопку пытаюсь удалить запись в главной таблице БД:
ADOQuery.SQL.Text:="DELETE FROM Table WHERE pole=:n";
По полю pole она связано отношением один ко многим с подчинённой.
Удалить не удаётся - пишет, что в подчинённой таблице есть связанные записи.

Как решить этот вопрос?


 
Сергей М. ©   (2007-07-10 15:44) [1]


> Как решить этот вопрос?


Предпринять любые допустимые и доступные меры к предварительному удалению связанных записей в подчиненной таблице.

По-моему, это очевидно)


 
Anatoly Podgoretsky ©   (2007-07-10 15:46) [2]

По моему достаточно поверить сообщению и поступить в соответстии с ним.


 
Пётр   (2007-07-10 15:51) [3]

Я пытался придумать что-нибудь вроде:
ADOQuery.SQL.Text:="DELETE FROM Table, Table2 WHERE pole=:n";
)))

Вы подскажите - где хоть ответ искать?
- второй ADOQuery.SQL.Text:="DELETE... для подчинённой таблицы
- настройки БД в самом Access
- можно доработать существующий запрос
???


 
Галинка ©   (2007-07-10 15:56) [4]

ADOQuery.SQL.Text := "DELETE FROM SeconderyTableName WHERE pole=:n"
ADOQuery.SQL.Text := "DELETE FROM PrimaryTableName WHERE pole=:n"


 
Anatoly Podgoretsky ©   (2007-07-10 15:56) [5]

Это не код, а огрызок


 
Ega23 ©   (2007-07-10 15:56) [6]

можно наложить conatraint-модификатор on delete cascade
Не знаю, правда, поддерживает ли Access такое...

А в общем случае -
delete Table2 where pole=:n
delete Table1 where pole=:n


 
Пётр   (2007-07-10 16:19) [7]

> Галинка ©   (10.07.07 15:56) [4]
ADOQuery.SQL.Text := "DELETE FROM SeconderyTableName WHERE pole=:n"
ADOQuery.SQL.Text := "DELETE FROM PrimaryTableName WHERE pole=:n"


попробовал - это два запроса надо писать (
А можно как-нибудь, тогда адулять записи в главной, не удаляя при этом в подчинённой?


 
Сергей М. ©   (2007-07-10 16:21) [8]


> это два запроса надо писать


Это, конечно же, гораздо сложнее, чем сподобиться до информирования местной общественности о конкретно используемой тобой СУБД)


 
Пётр   (2007-07-10 16:21) [9]

> Пётр   (10.07.07 16:19) [7]
это два запроса надо писать


я имею ввиду: Close, Open, ... и прочее


 
Johnmen ©   (2007-07-10 16:23) [10]

Всё понятно...


 
Пётр   (2007-07-10 16:25) [11]

> Сергей М. ©   (10.07.07 16:21) [8]
информирования местной общественности о конкретно используемой тобой СУБД

По-моему я ничего не утаил:
> ADO
Access
Table ... По полю pole она связано отношением один ко многим с подчинённой.


 
Ega23 ©   (2007-07-10 16:25) [12]


> А можно как-нибудь, тогда адулять записи в главной, не удаляя
> при этом в подчинённой?


Можно. Для этого всего лишь нужно убрать constraint.
Вот только не кажется ли тебе, что ссылочную целостность совсем неглупые люди придумали?


 
Anatoly Podgoretsky ©   (2007-07-10 16:37) [13]


> А можно как-нибудь, тогда адулять записи в главной, не удаляя
> при этом в подчинённой?

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



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

Текущий архив: 2007.08.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
1-1180514571
_vl_
2007-05-30 12:42
2007.08.05
Перевод номера месяца в символьное представление месяца


15-1183578644
P
2007-07-04 23:50
2007.08.05
"Большой бум" и фундаментальная наука.


15-1184169984
oldman
2007-07-11 20:06
2007.08.05
Я это сделал!!!


15-1184145951
zdm77
2007-07-11 13:25
2007.08.05
Прокси


6-1167274602
tarantul
2006-12-28 05:56
2007.08.05
irc