Commit (SQL)
COMMIT (в переводе с англ. «принимать») — оператор управления транзакциями языка SQL для успешного завершения транзакции. При выполнении оператора изменения, сделанные от начала транзакции и ранее не видимые для других транзакций, фиксируются в базе данных[1].
Для отката всей изменений транзакции применяется оператор ROLLBACK.
Oracle
Перед выполнением COMMIT Oracle генерирует логи данных отмены (undo) и повторного выполнения (redo) (они могут быть даже записаны на диск). При выполнении оператора COMMIT таблицы транзакций redo-записей отмечаются SCN (англ. system change number, «номер изменения системы»), буферы redo-журнала сбрасываются на диск (на этом этапе транзакция считается завершённой), освобождаются блокировки, а транзакция отмечается как завершённая[1].
Замечания по использованию
Рекомендуется явно завершать транзакции в прикладных программах, используя команды COMMIT WORK (или ROLLBACK WORK). Если вы явно не записали транзакцию, а прикладная программа завершилась аварийно, произойдёт откат последней не записанной транзакции.
Пример
Для добавления строки к таблице MyTable и сохранения изменения введите следующие команды:
BEGIN TRANSACTION WORK;
INSERT INTO MyTable VALUES ('50', 'some string');
COMMIT WORK;
Примечания
- ↑ 1 2 Alapati, 2009.
Литература
- Gunderloy, M.; Jorden, J.L.; Tschanz, D.W. Mastering Microsoft SQL Server 2005. — Wiley, 2006. — P. 200-201. — ISBN 9780471792239.
- Darie, C. and Watson, K. The Programmer's Guide to SQL. — Apress, 2008. — P. 271-274. — ISBN 9781430208006.
- Alapati, S. Expert Oracle Database 11g Administration. — Apress, 2009. — P. 338-339. — ISBN 9781430210160.
Ссылки
- COMMIT , Database SQL Reference, Oracle
- COMMIT, DB2 SQL, IBM
- Простая транзакция базы данных Oracle
![]() | В статье не хватает ссылок на источники (см. рекомендации по поиску). |