Форум: "Начинающим";
Текущий архив: 2007.08.05;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c