powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Синтаксис DELETE
7 сообщений из 7, страница 1 из 1
Синтаксис DELETE
    #39600672
Фотография Дикий Билл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что может означать подобный синтаксис в Access?

Код: sql
1.
2.
3.
4.
DELETE SubMasterlist.*,Partlist.LotID 
FROM Partlist
INNER JOIN SubMasterlist ON Partlist.PLID = SubMasterlist.PLID 
WHERE Partlist.LotID = ...



Интуитивно я бы сказал, что удаление должно происходить из таблицы Partlist, а список полей "SubMasterlist.*,Partlist.LotID " не имеет значения и его вообще можно убрать..
Но засомневался, вдруг в Access это может означать что-то другое? например удаление из обеих таблиц?
...
Рейтинг: 0 / 0
Синтаксис DELETE
    #39600674
Фотография Дикий Билл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, собирался это в форум по Access.
...
Рейтинг: 0 / 0
Синтаксис DELETE
    #39600676
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжай. Нам интересно. Про ацкесс.

Модератор: Тема перенесена из форума "Просто треп".
...
Рейтинг: 0 / 0
Синтаксис DELETE
    #39602133
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дикий БиллЧто может означать подобный синтаксис в Access?

Код: sql
1.
2.
3.
4.
DELETE SubMasterlist.*,Partlist.LotID 
FROM Partlist
INNER JOIN SubMasterlist ON Partlist.PLID = SubMasterlist.PLID 
WHERE Partlist.LotID = ...



Интуитивно я бы сказал, что удаление должно происходить из таблицы Partlist, а список полей "SubMasterlist.*,Partlist.LotID " не имеет значения и его вообще можно убрать..
Но засомневался, вдруг в Access это может означать что-то другое? например удаление из обеих таблиц?

Маленькая тонкость. У Вас жесткая связь между таблицами, один-к-одному. И если в таблице SubMasterlist отсутствует соответствие для какого-то элемента из таблицы Partlist, то эти записи не попадут в отбор, хотя условие WHERE Partlist.LotID = ... для них может и выполняться.
...
Рейтинг: 0 / 0
Синтаксис DELETE
    #39602152
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дикий БиллЧто может означать подобный синтаксис в Access?
В данном конкретном случае будет произведено удаление записей из таблицы SubMasterlist. Наличие в списке удаления одиночного поля Partlist.LotID будет проигнорировано.
Если бы список удаления выглядел как SubMasterlist.*,Partlist.* или вообще отсутствовал - были бы удалены записи из обеих таблиц.

На самом деле текст запроса НЕ соответствует встроенной документации, согласно которой допускается только указание всех полей в списке удаления. По какой причине это игнорируется, а не приводит к Syntax Error - загадка... но товарищи из M$ вообще не очень аккуратны.
...
Рейтинг: 0 / 0
Синтаксис DELETE
    #39602153
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossУ Вас жесткая связь между таблицами, один-к-одному.Откуда такое заключение? Я в упор не вижу указаний, что поле PLID хотя бы в какой-то из таблиц уникальное.
...
Рейтинг: 0 / 0
Синтаксис DELETE
    #39602159
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Впрочем, если бы поле Partlist.PLID не было уникальным - запрос бы не был выполнен, было бы сообщение об ошибке (что-нибудь типа "невозможно удаление из указанных таблиц" - т.е. указание на неоднозначность связи).
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Синтаксис DELETE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]