Вопрос № 39999: Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, как при удалении записи из главной таблицы удалять все записи подчиненной таблицы, которые связаны с ней(например по id). Работаю с MS Access(ADO). Заранее спасибо!...
Вопрос № 39.999
Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, как при удалении записи из главной таблицы удалять все записи подчиненной таблицы, которые связаны с ней(например по id). Работаю с MS Access(ADO). Заранее спасибо!
Отвечает: Архангельский Андрей Германович
Здравствуйте, Андрющенко Вячеслав Васильевич!
При создании связей в Access нужно указать не только каскадное обновление, но и каскадное удаление. Только пользоваться этой возможностью нужно осторожно
Отвечает: Kazakh
Здравствуйте, Андрющенко Вячеслав Васильевич!
Если в случае, который указал Андрей Германович не подходит, то можно вручную сделать. Допустим главная таблица 222 и подчиненная 111, то запрос на удаление будет таким:
DELETE [111].*
FROM 111 INNER JOIN 222 ON [111].ID = [222].ID
WHERE ([222].ID=10);
Этот запрос удалит все записи из подчиненной таблицы 111, которые относятся к ID=10 из главной таблицы 222.
--------- Если собеседник затрудняется ответить, значит, вопрос поставлен правильно.
Ответ отправил: Kazakh (статус: 5-ый класс)
Ответ отправлен: 11.04.2006, 17:37