UPDATE#

Примечание

Ниже приведена оригинальная документация Trino. Скоро мы ее переведем на русский язык и дополним полезными примерами.

Синтаксис#

UPDATE table_name SET [ ( column = expression [, ... ] ) ] [ WHERE condition ]
Copy to clipboard

Описание#

Update selected columns values in existing rows in a table.

The columns named in the column = expression assignments will be updated for all rows that match the WHERE condition. The values of all column update expressions for a matching row are evaluated before any column value is changed. When the type of the expression and the type of the column differ, the usual implicit CASTs, such as widening numeric fields, are applied to the UPDATE expression values.

Примеры#

Update the status of all purchases that haven’t been assigned a ship date:

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

Update the account manager and account assign date for all customers:

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

Update the manager to be the name of the employee who matches the manager ID:

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

Limitations#

Some connectors have limited or no support for UPDATE. See connector documentation for more details.