COMMIT (англ. — «здійснювати») — оператор управління мови SQL для успішного завершення транзакції. При виконанні оператора зміни, зроблені від початку транзакції й раніше невидимі для інших транзакцій, фіксуються в базі даних.
Для скасування змін транзакції застосовується оператор ROLLBACK. Ці дві інструкції явним чином завершують транзакцію.
Oracle
Перед виконанням COMMIT Oracle генерує даних скасування (undo) і повторного виконання (redo) (вони можуть бути навіть записані на диск). При виконанні оператора COMMIT таблиці транзакцій redo-записів відзначаються SCN (англ. system change number, «номер зміни системи»), буфери redo-журналу скидаються на диск (на цьому етапі транзакція вважається завершеною), звільняються блокування, а транзакція позначається як завершена.
Зауваження щодо використання
Команда COMMIT в обробці транзакцій представляє той момент часу, коли користувач вже вніс необхідні зміни як одну логічну одиницю, а оскільки помилок не сталося, він готовий до збереження результатів своєї роботи. Видачею команди COMMIT в базі даних ще й неявно закривається поточна транзакція та розпочинається нова.
Відкат транзакції виконується не тільки в результаті видачі команди ROLLBACK, а й неявно, коли виконання оператора по тій або іншій причині закінчується невдало або коли користувач скасовує оператор командою CTRL-C.
Рекомендується явно завершувати транзакції в прикладних програмах, використовуючи команди COMMIT WORK (або ROLLBACK WORK). Якщо ви явно не записали транзакцію, а прикладна програма завершилася аварійно, відбудеться відкат останньої не записаної транзакції.
Приклад
Для додавання рядків до таблиці 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.
Посилання
- COMMIT [ 15 травня 2017 у Wayback Machine.] , Database SQL Reference, Oracle
- COMMIT, DB2 SQL
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
COMMIT angl zdijsnyuvati operator upravlinnya movi SQL dlya uspishnogo zavershennya tranzakciyi Pri vikonanni operatora zmini zrobleni vid pochatku tranzakciyi j ranishe nevidimi dlya inshih tranzakcij fiksuyutsya v bazi danih Dlya skasuvannya zmin tranzakciyi zastosovuyetsya operator ROLLBACK Ci dvi instrukciyi yavnim chinom zavershuyut tranzakciyu OraclePered vikonannyam COMMIT Oracle generuye danih skasuvannya undo i povtornogo vikonannya redo voni mozhut buti navit zapisani na disk Pri vikonanni operatora COMMIT tablici tranzakcij redo zapisiv vidznachayutsya SCN angl system change number nomer zmini sistemi buferi redo zhurnalu skidayutsya na disk na comu etapi tranzakciya vvazhayetsya zavershenoyu zvilnyayutsya blokuvannya a tranzakciya poznachayetsya yak zavershena Zauvazhennya shodo vikoristannyaKomanda COMMIT v obrobci tranzakcij predstavlyaye toj moment chasu koli koristuvach vzhe vnis neobhidni zmini yak odnu logichnu odinicyu a oskilki pomilok ne stalosya vin gotovij do zberezhennya rezultativ svoyeyi roboti Vidacheyu komandi COMMIT v bazi danih she j neyavno zakrivayetsya potochna tranzakciya ta rozpochinayetsya nova Vidkat tranzakciyi vikonuyetsya ne tilki v rezultati vidachi komandi ROLLBACK a j neyavno koli vikonannya operatora po tij abo inshij prichini zakinchuyetsya nevdalo abo koli koristuvach skasovuye operator komandoyu CTRL C Rekomenduyetsya yavno zavershuvati tranzakciyi v prikladnih programah vikoristovuyuchi komandi COMMIT WORK abo ROLLBACK WORK Yaksho vi yavno ne zapisali tranzakciyu a prikladna programa zavershilasya avarijno vidbudetsya vidkat ostannoyi ne zapisanoyi tranzakciyi PrikladDlya dodavannya ryadkiv do tablici MyTable i zberezhennya zmini vvedit nastupni komandi BEGIN TRANSACTION WORK INSERT INTO MyTable VALUES 50 some string COMMIT WORK PrimitkiAlapati 2009 Groff 2015 LiteraturaDzhejms R Groff amp Pol N Vajnberg amp Endryu Dzh Oppel Glava 12 Obrabotka tranzakcij Instrukcii COMMIT i ROLLBACK SQL Polnoe rukovodstvo SQL The Complete Reference Trete izdanie Vilyams 2015 S 337 339 959 s Polnyj spravochnik ISBN 9785845916549 Kevin E Klyajn Deniel Klyajn Brend Hant COMMIT SQL spravochnik SQL In A Nutshell A Desktop Quick Reference 3 e izd Simvol 2010 S 86 89 653 s 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 PosilannyaCOMMIT 15 travnya 2017 u Wayback Machine Database SQL Reference Oracle COMMIT DB2 SQL