UPDATE
UPDATE
Обновление записей в таблице.
Синтаксис
UPDATE [ ONLY ] таблица SET
поле = выражение [. ...]
[ FROM список_источников ]
[ WHERE условие ]
Параметры
- ONLY. Обновление выполняется только в указанной таблице и не распространяется на производные таблицы (если они существуют).
- таблица. Имя обновляемой таблицы.
- поле. Имя поля, обновляемого в таблице.
- выражение. Выражение, результат которого присваивается указанному полю.
- список_источников. Таблица, представление или другой источник данных (см. описание команды SELECT). Расширенная версия команды UPDATE в PostgreSQL позволяет задействовать значения полей других таблиц в условии WHERE; чтобы данная возможность работала правильно, необходимо перечислить используемые таблицы в секции FROM.
- условие. В секции WHERE задается критерий отбора обновляемых записей. Условие представляет собой произвольное выражение с результатом типа boolean.
Результаты
- UPDATE число. Сообщение выдается при успешном выполнении команды UPDATE. В параметре число сообщается количество модифицированных записей. Например, сообщение UPDATE 0 означает, что содержимое таблицы не изменялось.
- ERROR: Relation 'таблица' does not exist. Ошибка— таблицас указанным именем не найдена в текущей базе данных.
- ERROR: Relation 'таблица' does not have attribute 'поле'. Ошибка — поле с указанным именем не существует в таблице, использованной в секции SET.
- ERROR: Cannot update a view without an appropriate rule. Ошибка — попытка обновить представление (вместо таблицы) без правила, указывающего, как поступать в подобных ситуациях.
Описание
Команда UPDATE изменяет значения полей во всех записях, удовлетворяющих условию, заданному в секции WHERE. Команда также позволяет модифицировать поля-массивы, в которых можно обновить отдельный элемент, интервал или весь массив. Чтобы обновление выполнялось только в указанной таблице, следует включить в команду ключевое слово ONLY; в противном случае обновление распространяется на все производные таблицы.
Примечание 1
Примечание 1
При обновлении таблиц необходимо наличие прав записи для обновляемых полей и прав чтения для полей, используемых в секции WHERE.