Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 0
Регистрация: 10.07.2014
Сообщений: 240

Удаление из нескольких таблиц

04.12.2014, 11:33. Показов 2318. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу сообразить как сделать, чтобы запись удалялась сразу из нескольких таблиц. Помогите разобраться
У меня есть таблица Resalt и Itog. Нужно чтобы при удаление записи (по фамилии) из Itog удалялась запись с этой же фамилией и из таблицы Resalt

Я сделала, но запись удаляется только из таблицы Itog
Delphi
1
2
3
4
5
6
7
8
var   Id_Itog: integer;
begin
  DataModule2.ADOQuery4.SQL.Text:='delete from Itog where Id_Itog = :Id_Itog';
  DataModule2.ADOQuery4.Parameters[0].Value:= DBGrid1.Datasource.DataSet.FieldByName('Id_Itog').Value;
  DataModule2.ADOQuery4.ExecSQL;
  DBGrid1.Datasource.DataSet.Close;
  DBGrid1.Datasource.DataSet.Open;
end;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.12.2014, 11:33
Ответы с готовыми решениями:

Запрос на удаление записей сразу из нескольких таблиц
Всем доброго времени суток! Есть запрос на удаление, но вот в чет ошибка я не понимаю. delete from (select i.*, d.*, a.* from...

Удаление записи из нескольких таблиц с использованием LEFT JOIN (MS SQL)
Добрый день! У меня в базе MS SQL связаны между собой 4 таблицы, связаны они по коду, мне необходимо удалить все строки из таблицы...

Удаление из нескольких таблиц
Есть таблицы user user_id INTEGER user_login VARCHAR group group_id INTEGER group_name VARCHAR

6
1 / 1 / 0
Регистрация: 10.07.2014
Сообщений: 240
04.12.2014, 11:41  [ТС]
вот схема данных этих двух таблиц
Миниатюры
Удаление из нескольких таблиц  
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.12.2014, 11:53
Цитата Сообщение от POVT Посмотреть сообщение
но запись удаляется только из таблицы Itog
Так если был один DELETE, то в общем случае и будет одно удаление.
В некоторых БД есть возможность связать таблицы таблицы по FK (Foreign Key) с опцией DELETE CASCADE. Тогда при удалении из родительской таблицы будут удаляться все строки, связанные с ней из дочерней таблицы.
Но, во-первых, неизвестно, есть ли такая возможность в твоей СУБД (которая не оглашена) и задана ли такая связь.
А во-вторых, здесь идет удаление дочерней записи, которое никоим образом не должно приводить к удалению родительской записи.
0
1 / 1 / 0
Регистрация: 10.07.2014
Сообщений: 240
04.12.2014, 12:03  [ТС]
Grossmeister,
Цитата Сообщение от Grossmeister Посмотреть сообщение
неизвестно, есть ли такая возможность в твоей СУБД (которая не оглашена)
Я использую MS Access. Использую только первичный ключ
Цитата Сообщение от Grossmeister Посмотреть сообщение
удаление дочерней записи, которое никоим образом не должно приводить к удалению родительской записи.
ну мне нужно чтобы выбрали запись в родительской, а удалились и из родительской и из дочерней
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.12.2014, 12:38
Цитата Сообщение от POVT Посмотреть сообщение
чтобы выбрали запись в родительской, а удалились и из родительской и из дочерней
Я с Access не работал, поэтому его возможностей не знаю. Но в общем случае я описал все, что нужно.
0
1 / 1 / 0
Регистрация: 10.07.2014
Сообщений: 240
04.12.2014, 12:41  [ТС]
Grossmeister, ну я сделала связь один к одному и галку поставила "каскадное удаление связанных записей"
но все равно не удаляется. может нужно код как-то поменять?
Миниатюры
Удаление из нескольких таблиц  
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.12.2014, 12:54
Цитата Сообщение от POVT Посмотреть сообщение
может нужно код как-то поменять?
Во-первых, почему связь один-к-одному? У тебя Resultat - родительская таблица (судя по всему), Itog - дочерняя таблица. В этом случае связь один-ко-многим вполне типична.
Во-вторых, я уже сказал: чтобы каскадное удаление работало, надо удалять из родительской таблицы, т.е. Resultat
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.12.2014, 12:54
Помогаю со студенческими работами здесь

Запрос на удаление из нескольких таблиц
Хочу удалить в одном запросе записи из нескольких таблиц, но система требует указать из какой таблицы удаляются записи. Если удаляю...

Удаление с нескольких таблиц SQLite
Имеется база данных из 4 таблиц. Требуется удалить по Названию теста полностью данный тест, т. е. Вопросы, Ответы, и стереть ИД с таблицы...

Удаление записей из нескольких таблиц
Как сделать, чтобы запись удалялась сразу из нескольких таблиц. Помогите разобраться У меня есть таблица :base,ocenka1,student Я...

Удаление нескольких таблиц в SQL базе
Доброго времени суток господа. Столкнулся с задачей удалить несколько таблиц в SQL базе. Данные по именам таблиц в базу отправляю в XML....

Удаление данных из нескольких связанных таблиц одновременно
Ситуация такова,работа с БД,добавление палей в три таблицы(один к одному),изменение данных полей,удаление Добавление и изменение работают...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru