COMMIT (z angličtiny - „commit, commit“) je SQL transakční kontrolní operátor pro úspěšné dokončení transakce. Když je příkaz proveden, změny provedené od začátku transakce a dříve neviditelné pro jiné transakce, se uloží do databáze [1] .
Příkaz ROLLBACK se používá k vrácení všech změn v transakci . Tyto dva příkazy výslovně ukončují transakci [2] .
Před provedením příkazu COMMIT vygeneruje Oracle datové protokoly undo (undo) a redo (redo) (lze je dokonce zapsat na disk). Při provádění příkazu COMMIT jsou transakční tabulky redo záznamů označeny SCN ( číslo systémové změny , „ číslo systémové změny “), buffery redo log jsou vyprázdněny na disk (v této fázi je transakce považována za dokončenou), zámky jsou uvolněna a transakce je označena jako dokončená [ 1] .
Doporučuje se explicitně ukončit transakce v aplikacích pomocí příkazů COMMIT WORK nebo ROLLBACK WORK, v souladu s prvním principem ACID : transakce musí být atomická . Pokud nebyl vytvořen explicitní záznam transakce a aplikace se ukončí abnormálně, DBMS vrátí zpět poslední nezapsanou transakci.
Chcete-li přidat řádek do MyTable a uložit změnu, zadejte následující příkazy:
ZAHÁJIT TRANSAKČNÍ PRÁCI ; INSERT INTO MyTable VALUES ( '50' , 'nějaký řetězec' ); ZAVÁDĚT PRÁCI ;Databáze | |
---|---|
Koncepty |
|
Objekty |
|
Klíče | |
SQL | |
Komponenty |