Ответ
Оператор UPDATE в SQL предназначен для модификации существующих записей в таблице базы данных.
Основное назначение:
- Изменение значений в одном или нескольких столбцах для выбранных строк.
- Поддержание актуальности данных без необходимости удаления и повторной вставки записей.
Синтаксис и пример:
UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;
Ключевые принципы и best practices:
- Всегда используйте
WHERE. Без условия обновятся все строки в таблице, что обычно является ошибкой. - Можно обновлять несколько столбцов, перечисляя их через запятую.
- Поддерживает сложные условия с использованием
JOINв подзапросах. - Транзакционность. Рекомендуется выполнять в транзакции для возможности отката (
BEGIN TRANSACTION;...COMMIT/ROLLBACK;).
Пример с транзакцией и JOIN:
BEGIN TRANSACTION;
UPDATE Orders o
SET o.status = 'Shipped'
FROM Orders o
INNER JOIN OrderDetails od ON o.OrderID = od.OrderID
WHERE od.ProductID = 100 AND o.status = 'Pending';
-- Проверьте результат перед коммитом
-- ROLLBACK;
COMMIT;