Изменение значений столбцов таблицы в SQL


Изменение значений столбцов таблицы осуществляется с помощью следующей конструкции:
UPDATE <имя таблицы> SET <имя столбца>=<выражение для определения столбца>|NULL|DEFAULT,…
[WHERE <предикат>|CURRENT OF <имя курсора>]

Примечания:
• CURRENT OF применяется для встроенного SQL.
• В предложении SET можно использовать скалярные выражения.
• В предложении SET можно использовать значение NULL или DEFAULT, если оно было указано для данного столбца в операторе CREATE TABLE.
• Предикат может включать запросы и запросы и подзапросами (через предикат).
• Можно присваивать значения столбцов друг другу.

Примеры со значениями:
• UPDATE Customer SET Rating=200
• UPDATE SalesPeople SET SName=’Gibson’, City=’Boston’, Comm=.10*2 WHERE SNum=1004
• UPDATE Customer SET Rating=NULL WHERE City=’London’

Примеры с запросом:
• UPDATE SalesPeople SET Comm=Comm+0.01 WHERE 2<=(SELECT COUNT(CNum) FROM Customer WHERE Customer.SNum=SalesPeople.SNum) //Повышает комиссионные продавцов, обслуживших не менее двух покупателей. Особенности UPDATE в SQL SERVER:
• UPDATE [TOP (<число>) [PERCENT]] – задает количество или процент изменяемых строк. Обычно используется с запросом в курсоре или при отсутствии раздела WHERE.
• … [OPTION (<подсказки для запроса> [,…])] – позволяет указать подсказки для оптимизатора при выполнении запроса в курсоре.

Примеры UPDATE в SQL SERVER:
• UPDATE TOP (10) SalesPeople SET Comm=Comm*1.25
• UPDATE SalesPeople SET Comm=(CASE WHEN City=’London’ THEN Comm+.01 ELSE .015)


Комментарии запрещены.




Статистика