Ошибка синтаксиса в инструкции UPDATE

Условие:

почему

Условие: почему

Решение:

Предмет: Информатика
Раздел предмета: Базы данных, SQL-запросы в Microsoft Access


На изображении показана ошибка при выполнении SQL-запроса в Microsoft Access. Сообщение:
«Ошибка синтаксиса в инструкции UPDATE.»

Рассмотрим сам SQL-запрос:

UPDATE Поставки
INNER JOIN Продукты ON Поставки.Код_Продукта = Продукты.Код_Продукта
SET Поставки.Цена = (Цена + Цена * [Введите процент увеличения]/100)
WHERE Продукты.Название = [Введите название товара];

? Анализ ошибки

В Microsoft Access синтаксис запроса UPDATE ... INNER JOIN ... отличается от стандартного SQL. В частности, Access требует иного порядка ключевых слов и явного указания таблиц в операторе SET.


✅ Правильный синтаксис для Access:

UPDATE Поставки 
INNER JOIN Продукты ON Поставки.Код_Продукта = Продукты.Код_Продукта
SET Поставки.Цена = Поставки.Цена + Поставки.Цена * [Введите процент увеличения]/100
WHERE Продукты.Название = [Введите название товара];

? Что было не так:

  1. Цена — не указано, из какой таблицы берётся поле Цена. Нужно писать Поставки.Цена.
  2. Скобки вокруг выражения Цена + Цена * ... — они не обязательны, но допустимы.
  3. Access требует явного указания таблицы в выражении SET, иначе возникает синтаксическая ошибка.
  4. Access не поддерживает алиасы в UPDATE, как это бывает в других СУБД.

? Итог

Ошибка возникает из-за неправильного синтаксиса инструкции UPDATE в Access, особенно в части указания имени таблицы и поля в SET.


Если будут вопросы по другим видам запросов (SELECT, DELETE, INSERT), могу помочь с примерами!

Не нашли нужного вам решения? Оставьте заявку и наши авторы быстро и качественно помогут вам с решением.
Оставить заявку
Работа вам нужна срочно. Не волнуйтесь, уложимся!
  • 22423 авторов готовы помочь тебе.
  • 2402 онлайн