Артём Санников

Персональный блог

Мобильная разработка
Менеджеры пакетов
Хостинг провайдер
Смартфоны
› Оператор COMMIT в PL/SQL Oracle

Оператор COMMIT в PL/SQL Oracle

Результаты выполнения операторов SQL в Oracle обычно записываются непосредственно в таблицы базы данных. Это так называемая неявная фиксация – автоматическая запись или сохранение результатов выполнения операции.

Но блоку транзакций может потребоваться явная фиксация. В таком случае данные сохраняются с помощью оператора COMMIT. Давайте рассмотрим это на практическом примере:

В таблице Users и Works содержится информация о сотрудниках и их деятельности в компании, и по причине увольнения сотрудника нам нужно удалить информацию, которая связана с этим сотрудником из всех таблиц.

Сейчас мы произвели удаление информации о сотруднике и его деятельности, которая содержится в двух таблицах. А поскольку эти операции связаны с обновлением нескольких таблиц базы данных, то во избежание частичного удаления данных используем блок транзакций.

Если первый оператор DELETE удастся выполнить, а второй – не удастся, результаты удаления не будут зафиксированы (они будут автоматически отменены).

DELETE FROM Users WHERE id_user = 100;
DELETE FROM Works WHERE id_user = 100;
COMMIT;

Метки: , , .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Реклама от Google
Реклама от Google