11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 675

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

09.11.2014, 15:24. Показов 916. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Существуют такие таблицы:

Написал такое удаление:
SQL
1
2
3
4
5
6
7
8
9
10
11
DELETE
    FROM goodsProducer AS GP, Box_key AS BK, postawki AS p, PrevStore AS PS, FK_custom AS FKC,
        custom AS c, bid AS b, treaty AS t, gather AS g, checkout AS che,
        FK_order_FK_towar AS FKFK, PrevSale AS PrevS, selling AS sel
    WHERE GP.key_goodsProducer = BK.FK_goodsProducer AND Gp.key_goodsProducer
        = p.FK_goodsProducer AND PS.FK_postawki = p.key_postawki AND FKC.FK_PrevStore = PS.key_PrevStore
        AND c.key_custom = FKC.FK_customs AND p.FK_bid = b.key_bid AND
        b.FK_contract = t.numberGarantii AND g.FK_bid = b.key_bid AND g.FK_checkout
        = che.key_Checkout AND FKFK.FK_checkout = che.key_Checkout AND
        che.key_Checkout = PrevS.FK_order AND sel.key_selling = PrevS.FK_selling
        AND GP.key_goodsProducer = @keyGoods
Но удалять он не хочет. Как сделать удаление?

Так же написано тоже самое, но через другое связывание:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DELETE
FROM         goodsProducer INNER JOIN
                      Box_key ON goodsProducer.key_goodsProducer = Box_key.FK_goodsProducer INNER JOIN
                      postawki ON goodsProducer.key_goodsProducer = postawki.FK_goodsProducer INNER JOIN
                      PrevStore ON postawki.key_postawki = PrevStore.FK_postawki INNER JOIN
                      FK_custom ON PrevStore.key_PrevStore = FK_custom.FK_PrevStore INNER JOIN
                      custom ON FK_custom.FK_customs = custom.key_custom INNER JOIN
                      bid ON postawki.FK_bid = bid.key_bid INNER JOIN
                      treaty ON bid.FK_contract = treaty.numberGarantii INNER JOIN
                      gather ON bid.key_bid = gather.FK_bid INNER JOIN
                      checkout ON gather.FK_checkout = checkout.key_Checkout INNER JOIN
                      FK_order_FK_towar ON checkout.key_Checkout = FK_order_FK_towar.FK_checkout INNER JOIN
                      PrevSale ON checkout.key_Checkout = PrevSale.FK_order INNER JOIN
                      selling ON PrevSale.FK_selling = selling.key_selling
WHERE goodsProducer.key_goodsProducer = 1
В данном случае ругается на синтаксис
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.11.2014, 15:24
Ответы с готовыми решениями:

Уникальность идентификаторов в нескольких таблицах.
Стоит задача: при вставке записей порождать целочисленные primary key, уникальные для нескольких (!!) таблиц. В оракле это решалось...

Поменять значения идентификаторов в нескольких таблицах циклом
Доброго времени суток. Вот сделал такую выборку как на картинке, джойнил две таблицы. Я хочу поменять значения столбцов id и point_id...

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

4
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
10.11.2014, 04:47
Vla00, Если сначала ознакомится с спользуемым инструметом, а только потом его использовать, то можно потерять гораздо меньше времени. Синтаксис DELETE не позволяет удалять строки более чем из одного объекта (Таблица/Представление/Функция/Табличная переменная). Ораганизовать удаление из кучи таблиц при помощи одного DELETE можно через каскадное удаление, триггер, представление. Ну или выполнив DELETE поочередно для всех таблиц.
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
10.11.2014, 10:07
Цитата Сообщение от kodv Посмотреть сообщение
Ораганизовать удаление из кучи таблиц при помощи одного DELETE можно через представление.
Приведите, пожалуйста, пример.
Я знаю только один экзотический способ сделать это.
Но Вы об этом не упоминаете, а в официальной документации об этом нет ни одной строчки!
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
10.11.2014, 10:15
iap, На самом деле я имел ввиду вариацию способа с триггерами. То есть, удаление происходит из представления, у которого есть триггер INSTEAD OF DELETE. В данном контексте человеку явно нужно каскадное удаление, поэтому про триггеры можно было, наверное, и не упоминать
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
10.11.2014, 10:17
Цитата Сообщение от kodv Посмотреть сообщение
iap, На самом деле я имел ввиду вариацию способа с триггерами. То есть, удаление происходит из представления, у которого есть триггер INSTEAD OF DELETE. В данном контексте человеку явно нужно каскадное удаление, поэтому про триггеры можно было, наверное, и не упоминать
А я уж подумал было про MERGE
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2014, 10:17
Помогаю со студенческими работами здесь

Удаление связанных строк в нескольких таблицах
Есть две таблицы: users и details. В users хранятся пользователи (идентификатор и имя), в details - расширенные данные о пользователях...

Поиск в нескольких таблицах
Задача такова Имеем БД, на форме ADOTable. необходимо провести поиск сразу по нескольким столбцам и получить быбор сразу нескольких...

Поиск в нескольких таблицах
Доброго времени суток, помогите написать sql поиска в нескольких таблицах так все работает, но естественно это из 1 таблицы $result = ...

Поиск данных в нескольких таблицах
Доброго времени суток! Никак не получается сделать поиск из нескольких таблиц. После компиляции при попытке выполнить запрос появляется...

Посик по сайту в нескольких таблицах
Бен, ай нид хелп. Запрос: $result = mysql_query("(SELECT * FROM `data` WHERE `text` LIKE '%$search%' OR `title` LIKE '%$search%' OR...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru