Поделиться через


Инструкция UPDATE (Microsoft Access SQL)

Область применения: Access 2013, Office 2013

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

Синтаксис

UPDATE таблица SET новое_значение WHERE критерии;

Инструкция UPDATE состоит из трех указанных ниже частей.

Часть

Описание

таблица

Имя таблицы, содержащей данные, которые необходимо изменить.

новое_значение

Выражение, указывающее значение, которое необходимо вставить в определенное поле обновляемых записей.

критерии

Выражение, определяющее, какие записи необходимо обновить. Будут обновлены только те записи, которые удовлетворяют условиям выражения.

Комментарии

Инструкция UPDATE особенно полезна, когда необходимо изменить большое количество записей либо когда записи, которые необходимо изменить, находятся в нескольких таблицах.

Вы можете изменить одновременно несколько полей. В следующем примере показано, как увеличить значения Order Amount на 10 процентов, а значения Freight на 3 процента для грузоотправителей в Соединенном Королевстве:

UPDATE Orders 
SET OrderAmount = OrderAmount * 1.1, 
Freight = Freight * 1.03 
WHERE ShipCountry = 'UK';

Важно!

  • Инструкция UPDATE не создает результирующее множество. Кроме того, после обновления записи с помощью запроса на обновление вам не удастся отменить эту операцию. Если вам необходимо узнать, какие записи были обновлены, сначала изучите результаты выполнения запроса на выборку, использующего те же критерии, а затем запустите запрос на обновление.
  • Всегда храните резервные копии данных. Если вы обновите не те записи, вы сможете восстановить их из резервных копий.

Пример

В этом примере показано, как изменить значения в поле ReportsTo на 5 для всех записей сотрудников, у которых поле ReportsTo имеет значение 2.

    Sub UpdateX() 
     
        Dim dbs As Database 
        Dim qdf As QueryDef 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
         
        ' Change values in the ReportsTo field to 5 for all  
        ' employee records that currently have ReportsTo  
        ' values of 2. 
        dbs.Execute "UPDATE Employees " _ 
            & "SET ReportsTo = 5 " _ 
            & "WHERE ReportsTo = 2;" 
             
        dbs.Close 
     
    End Sub