SET в Oracle SQL: как задать новое значение в запросе UPDATE

🟢 Введение

Оператор SET используется в Oracle SQL исключительно в составе команды UPDATE.
Он указывает, каким должно стать значение одного или нескольких столбцов, если строка соответствует условию WHERE.

SET — это как “назначить новое значение”, и его применение требует понимания типов данных, синтаксиса и контекста.


🔤 Написание

Базовый синтаксис:

sql
UPDATE имя_таблицы
SET столбец1 = значение1 [, столбец2 = значение2, ...]
WHERE условие;

Пример:

sql
UPDATE employees
SET salary = 5500
WHERE employee_id = 105;

🔄 Где часто используется

  • Внутри UPDATE — при обновлении данных

  • При массовом обновлении значений

  • В PL/SQL процедурах

  • В бизнес-логике, связанной с изменением статусов, флагов, расчётов

  • При обнулении или очистке значений


🧪 10 Примеров использования SET с пояснениями

1️⃣ Простое назначение значения

sql
UPDATE employees
SET salary = 6000
WHERE employee_id = 106;

Назначаем новую зарплату конкретному сотруднику.


2️⃣ Обновление нескольких столбцов

sql
UPDATE employees
SET salary = 7000, job_id = 'HR_REP'
WHERE employee_id = 107;

Меняем зарплату и должность.


3️⃣ SET с арифметикой

sql
UPDATE employees
SET salary = salary * 1.1
WHERE department_id = 50;

Увеличиваем зарплату на 10% всем из отдела 50.


4️⃣ SET с NULL

sql
UPDATE employees
SET commission_pct = NULL
WHERE job_id = 'IT_PROG';

Очищаем бонус для программистов.


5️⃣ SET с подзапросом

sql
UPDATE employees
SET department_id = (
SELECT department_id FROM departments
WHERE department_name = 'Marketing'
)
WHERE employee_id = 108;

Назначаем отдел по результату подзапроса.


6️⃣ SET с функцией

sql
UPDATE employees
SET email = LOWER(email)
WHERE department_id = 60;

Приводим email к нижнему регистру.


7️⃣ SET с SYSDATE

sql
UPDATE employees
SET termination_date = SYSDATE
WHERE status = 'FIRED';

Фиксируем дату увольнения.


8️⃣ SET с текстовым значением

sql
UPDATE employees
SET status = 'ACTIVE'
WHERE status IS NULL;

Обновляем статус.


9️⃣ SET в PL/SQL блоке

sql
BEGIN
UPDATE employees
SET salary = salary + 500
WHERE employee_id = 109;
END;

Использование в программной логике.


🔟 SET с CASE-выражением

sql
UPDATE employees
SET bonus =
CASE
WHEN salary > 10000 THEN 1000
ELSE 500
END;

Условное обновление значения.


🧩 Заключение

Оператор SET — это ключ к тому, как именно будут изменены значения в таблице.
Он используется только в UPDATE, и с его помощью можно задать конкретные, вычисляемые, нулевые или даже динамические значения.

Чем лучше вы знаете SET, тем точнее и гибче ваши запросы на обновление данных.


🔜 Следующая статья:

Оператор DELETE в Oracle SQL — как безопасно удалить строки из таблицы

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии