Update (SQL)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Update — оператор мови SQL, що дозволяє оновити значення в заданих стовпцях таблиці.

Синтаксис

[ред. | ред. код]
update [top(x)] <об''єкт>
set <присвоєння1 [, присвоєння2, ...]>
[where <умова>]
[option <хінт1 [, хінт2, ...]>]
  • top (x) — команда виконається тільки х разів
  • <об'єкт> — об'єкт, над яким виконується дія (таблиця або подання (views))
  • <присвоювання> — присвоєння, яке буде виконуватися при кожному виконанні умови <умова>, або для кожного запису, якщо відсутній розділ where
  • <умова> — умова виконання команди
  • <хінт> — інструкція програмі як виконати запит

Приклади

[ред. | ред. код]
update top(10) tbl_books 
set price = 0 
where quantity = 0 option (force group, hash join, force order)

update persons 
set street = 'Nissestien 67', city = 'Sandnes' 
where lastname = 'Tjessem' and firstname = 'Jakob'

UPDATE emp a 
SET deptno = (SELECT deptno FROM dept WHERE loc = BOSTON), (sal, comm) = (SELECT 1.1*AVG(sal), 1.5*AVG(comm) FROM emp b WHERE a.deptno = b.deptno) 
WHERE deptno IN (SELECT deptno FROM dept WHERE loc = DALLAS OR loc = DETROIT);

«UPDATE emp a …» виконує наступні операції:

  • Модифікує тільки тих службовців, хто працюють в Dallas або Detroit
  • Встановлює значення стовпчика deptno для службовців з Бостона
  • Встановлює платню кожного службовця в 1.1 разів більше середнього платні всього відділу
  • Встановлює комісійні кожного службовця в 1.5 рази більше середніх комісійних всього відділу

Посилання

[ред. | ред. код]