| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Связь между таблицами |
| Автор: DDX 17.2.2005, 11:47 |
| буду очень признателен за помощь создаю базу ms access с помощью adox, как описано в drkb создаю таблицы sql запросами вопрос: как создать связь между таблицами, чтобы автоматически поддерживать целостность данных и каскадное удаление? Delphi 6, к базе обращаюсь через ADO |
| Автор: Dimich 17.2.2005, 12:14 |
| Использовать ограничения REFERENCES и FOREIGN KEY в операторе CREATE TABLE. Это обеспечит определенную ссылочную целостность. А вот насчет каскадного удаления в аксесе - то не знаю (я это обеспечиваю тригерами, которых в аксесе нет |
| Автор: DDX 17.2.2005, 12:47 |
| Dimich спасибо за ответ на sql.ru нашел, как создать связь: one --- o_id o_text many --- m_id o_id m_text ALTER TABLE many ADD CONSTRAINT FK_one_many FOREIGN KEY (o_id) REFERENCES one(o_id) ; каскадное удаление как сделать неизвестно.. ручками наверно писать придется |
| Автор: Dimich 17.2.2005, 12:57 |
| Думаю, что в аксесе только что ручками. |
| Автор: DDX 17.2.2005, 15:23 | ||
| В итоге сделал так: ...
... причем, что любопытно: access при попытке выполнить такой запрос из констуктора запросов выдает "ошибка синтаксиса в предложении constraint" при выполнении из Дельфи все тихо и мирно Dimich, спасибо! ) |