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 per­sons 
set street = 'Nis­sesti­en 67', ci­ty = 'Sand­nes' 
where last­na­me = 'Tjes­sem' and firs­tna­me = 'Ja­kob'

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 рази більше середніх комісійних всього відділу

Посилання[ред.ред. код]