Commit (SQL)

COMMIT (с англ. — «совершать, фиксировать») — оператор управления транзакциям�…

Commit (SQL)

COMMIT (с англ. — «совершать, фиксировать») — оператор управления транзакциями языка SQL для успешного завершения транзакции. При выполнении оператора изменения, сделанные от начала транзакции и ранее не видимые для других транзакций, фиксируются в базе данных[1].

Для отката всех изменений транзакции применяется оператор ROLLBACK. Эти две инструкции явным образом завершают транзакцию[2].

Oracle

Перед выполнением COMMIT Oracle генерирует логи данных отмены (undo) и повторного выполнения (redo) (они могут быть даже записаны на диск). При выполнении оператора COMMIT таблицы транзакций redo-записей отмечаются SCN (англ. system change number, «номер изменения системы»), буферы redo-журнала сбрасываются на диск (на этом этапе транзакция считается завершённой), освобождаются блокировки, а транзакция отмечается как завершённая[1].

Замечания по использованию

Рекомендуется явно завершать транзакции в прикладных программах, используя команды COMMIT WORK или ROLLBACK WORK, в соответствии с первым принципом ACID: транзакция должна быть атомарной. Если явная запись транзакции не была произведена, а прикладная программа завершилась аварийно, СУБД выполнит откат последней незаписанной транзакции.

Пример

Для добавления строки к таблице MyTable и сохранения изменения введите следующие команды:

 BEGIN TRANSACTION WORK;
 INSERT INTO MyTable VALUES ('50', 'some string');
 COMMIT WORK;

Примечания

Литература

  • Джеймс Р. Грофф & Пол Н. Вайнберг & Эндрю Дж. Оппель. Глава 12. Обработка транзакций. § Инструкции COMMIT и ROLLBACK // SQL. Полное руководство = SQL The Complete Reference. — Третье издание. — Вильямс, 2015. — С. 337-339. — 959 с. — (Полный справочник). — ISBN 9785845916549.
  • Кевин Е. Кляйн, Дэниэл Кляйн, Брэнд Хант. COMMIT // SQL: справочник = SQL In A Nutshell. A Desktop Quick Reference. — 3-е изд.. — Символ, 2010. — С. 86-89. — 653 с. — ISBN 9785932861653.
  • 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.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.