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

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