Сделать запрос на удаление в базе данных в Delphi 2010
Book_Author, на основе связанных между собой таблиц Book, Thematic и Book_Author.
Ситуация следующая мне нужно удалить данные о какой либо тематике (Thematic),
этой тематике принадлежат некоторые книги (внешний ключ id_thematic из таблицы
Thematic) - их тоже нужно удалить, но сперва нужно удалить данные из таблицы
Book_Author - внешний ключ у нее id_Book. Вообщем вопрос как опираясь на таблицы
Thematic и Book составить запрос на удаление данных из таблицы Book_Author зная что определенная тематика
будет удалена.
Ключи этих таблиц Thematic - собственный ключ id_thematic, Book - собственный ключ id_Book,
внешний ключ id_thematic, Book_Author - внешний ключ id_Book.
Связи таблиц представлены ниже:
http://www.imagepost.ru/?v=dsfds.JPG
закинь на форму компоненты ADOConnection и ADOQuery из палитры dbGo (помоему), настрой ADOConnection, свяжи его к ADOQuery, и в свойстве SQL.Text (ADOQuery)
вставляй запрос
delete from ba
from
Book_Author as ba
join Book as b on ba.id_Book = b.id_Book
join Thematic as t on t.id_thematic = b.id_thematic
where
t.id_thematic = 'нужное_мне_значение' (по хорошему оформи в виде параметра)
и вызывай программно в нужный тебе момент (с передачей параметра), так:
try
ADOQuery1.Exec;
except
// обработка ошибок
end;
А автоматическая ссылочная целостность уже вышла из моды что ли??