Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сделать запрос на удаление в базе данных

340
10 мая 2011 года
Fellinggood
170 / / 27.04.2009
Здравствуйте мне нужно сделать запрос на удаление данных из одной таблицы
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
385
11 мая 2011 года
SomewherSomehow
477 / / 25.07.2004
 
Код:
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 = 'нужное_мне_значение'
277
11 мая 2011 года
arrjj
1.7K / / 26.01.2011
имхо авторов ненужно удалять - у одного автора может быть несколько книг разной тематики. А чтоб книги нужной тематики удалялись автоматически с удалением тематики или с удалением автора - в таблицах добавить внишние ключи с каскадным удалением
5
11 мая 2011 года
hardcase
4.5K / / 09.08.2005
Цитата: arrjj
А чтоб книги нужной тематики удалялись автоматически с удалением тематики или с удалением автора - в таблицах добавить внишние ключи с каскадным удалением


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

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог