Команда UPDATE - виробляє зміни в уже існуючому записі чи декількох записів в таблиці SQL. Змінює існуючі значення в таблиці або в основній таблиці уявлення.
Команда UPDATE Синтаксис команди
Синтаксис команди UPDATE
Команда UPDATE. Основні ключові слова і параметри команди UPDATE
- schema - ідентифікатор повноважень, зазвичай збігається з ім'ям деякого користувача
- table view - ім'я таблиці SQL. в якій змінюються дані; якщо визначається уявлення, дані змінюються в основній таблиці SQL уявлення
- subquery_1 - підзапит. який сервер обробляє тим же самим способом як уявлення
- сolumn- стовпець таблиці SQL або подання SQL. значення якого змінюється; якщо стовпець таблиці з пропозиції SET опускається, значення стовпця залишається незмінним
- expr- нове значення, яка призначається відповідним стовпцем; це вираз може містити головні змінні і необов'язкові індикаторні змінні
- subquery_2 - нове значення, яка призначається відповідним стовпцем
- subquery_3 - нове значення, яка призначається відповідним стовпцем
WHERE - визначає діапазон змінюваних рядків тими, для яких певну умову є TRUE; якщо опускається ця фраза, модифікуються всі рядки в таблиці або поданні.
При видачі затвердження UPDATE включається будь UPDATE-тригер. визначений на таблиці.
Підзапити. Якщо пропозиція SET містить підзапит. він повертає точно один рядок для кожної модифікується рядки. Кожне значення в результаті підзапиту призначається відповідним стовпцях списку в круглих дужках. Якщо підзапит не повертає ніякі рядки, стовпці призначається NULL. Підзапити можуть вибирати дані з модифікується таблиці. Пропозиція SET може поєднувати вирази і підзапит.
Команда UPDATE Приклад 1
Зміна для всіх покупців рейтингу на значення, рівне 200:
Команда UPDATE Приклад 2
Заміна значення стовпця в усіх рядках таблиці, як правило, використовується рідко. Тому в команді UPDATE. як і в команді DELETE. можна використовувати предикат. Для виконання зазначеної заміни значень стовпця rating, для всіх покупців, які обслуговуються продавцем Giovanni (snum = 1003), слід ввести:
UPDATE Customers SET rating = 200 WHERE snum = тисяча один;
Команда SQL UPDATE Приклад 3
У реченні SET можна вказати будь-яку кількість значень для стовпців, розділених комами:
UPDATE emp SET job = 'MANAGER', sal = sal +1000, deptno = 20 WHERE ename = 'JONES';
Команда UPDATE Приклад 4
У реченні SET можна вказати значення NULL без використання будь-якого спеціального синтаксису (наприклад, такого як IS NULL). Таким чином, якщо потрібно встановити всі рейтинги покупців з Лондона (city = 'London') рівними NULL-значення, необхідно ввести:
UPDATE Customers SET rating = NULL WHERE city = 'London';
Команда UPDATE Приклад 5
Пояснює використання наступних синтаксичних конструкцій команди UPDATE:
- Обидві форми пропозиції SET разом в одному затвердження.
- Підзапит.
- Пропозиція WHERE, що обмежує діапазон модифікуються рядків.
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 виконує наступні операції:
- Модифікує тільки тих службовців, хто працюють в Dallas або Detroit
- Встановлює значення колонки deptno для службовців з Бостона
- Встановлює платню кожного службовця в 1.1 разів більше середнього платні за все відділу
- Встановлює комісійні кожного службовця в 1.5 рази більше середніх комісійних за все відділу