MS Access SQL DELETE - зачем кому-то указывать имена столбцов? - PullRequest
4 голосов
/ 21 января 2010

Я должен поддерживать файл Access .mdb, который написал кто-то другой. Одна из функций кнопок в этом .mdb вызывает удаление некоторых данных из внешней базы данных MSSQL. Все очень просто, но этот синтаксис я уже не видел:

DELETE 
  tblEquipmentConnections.SourceEquip, 
  tblEquipmentConnections.EquipmentConnectionID
FROM tblEquipmentConnections
WHERE 
    tblEquipmentConnections.SourceEquip = [Forms]![frmEquipment]![EquipmentID];

Это отличается от этого?

DELETE 
FROM tblEquipmentConnections
WHERE 
    tblEquipmentConnections.SourceEquip = [Forms]![frmEquipment]![EquipmentID];

Я не могу найти случай, когда указание определенных столбцов делает что-либо, но я не провожу много времени в Access, поэтому не уверен, насколько отличается синтаксис SQL ...

Спасибо!

Ответы [ 4 ]

2 голосов
/ 21 января 2010

Указание имен столбцов не имеет значения. Это просто вещь Access.

Причина, по которой они могут существовать, заключается в том, что Access использовал для генерации операторов DELETE таким образом (не уверен, что это все еще происходит).

Вторая форма без имен столбцов, очевидно, предпочтительнее.

1 голос
/ 21 января 2010

Я думаю, что запрос был встроен непосредственно в редактор запросов Access.

И обычно мы начинаем с создания запроса на выборку. Затем мы меняем тип запроса с «Выбрать запрос» на «Удалить запрос». Затем мы отображаем источник запроса, выбирая «Режим SQL», где мы копируем / вставляем SQL-оператор, подобный следующему:

 DELETE qc_Boxes.idBox, qc_Boxes.idScreen, qc_Boxes.title
 FROM qc_Boxes;
0 голосов
/ 21 января 2010

Это абсолютно избыточно.Место между DELETE и FROM используется только в том случае, если удаление выполняется на основе многостолового условия, но даже в этом случае оно содержит имена таблиц, а не имена полей.Также он может содержать *, который также является избыточным.Например, в MySQL это неправильный синтаксис.

0 голосов
/ 21 января 2010

Потому что они не знают, что делают ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...