UPDATE#

Синтаксис#

UPDATE table_name [ @ branch_name ]
SET [ ( column = expression [, ... ] ) ] [ WHERE condition ]

Описание#

Обновляет значения выбранных столбцов в существующих строках таблицы.

Столбцы, указанные в присваиваниях column = expression, обновляются для всех строк, соответствующих условию WHERE. Значения всех выражений обновления столбцов для совпадающей строки вычисляются до изменения любого значения столбца. Если тип выражения и тип столбца отличаются, к значениям выражений UPDATE применяются обычные неявные преобразования CAST, например расширение числовых полей.

Примеры#

Обновление статуса всех покупок, для которых не назначена дата отгрузки:

UPDATE
  purchases
SET
  status = 'OVERDUE'
WHERE
  ship_date IS NULL;

Обновление менеджера аккаунта и даты назначения аккаунта для всех клиентов:

UPDATE
  customers
SET
  account_manager = 'John Henry',
  assign_date = now();

Обновление менеджера на имя сотрудника, соответствующего идентификатору менеджера:

UPDATE
  new_hires
SET
  manager = (
    SELECT
      e.name
    FROM
      employees e
    WHERE
      e.employee_id = new_hires.manager_id
  );

Обновление статуса всех покупок, для которых не назначена дата отгрузки, в branch audit:

UPDATE
  purchases @ audit
SET
  status = 'OVERDUE'
WHERE
  ship_date IS NULL;

Ограничения#

Некоторые коннекторы ограниченно поддерживают UPDATE или не поддерживают его. Дополнительные сведения см. в документации коннектора.