|
Příkaz START TRANSACTION | Transakce a body návratu | Příkaz ROLLBACK |
příkaz_COMMIT :: COMMIT [ WORK ] [ AND [ NO ] CHAIN ]
Příkaz COMMIT ukončuje právě probíhající transakci (explicitní i implicitní). Všechny změny provedené v této transakci se natrvalo zapíšou do databáze a stanou se viditelnými pro ostatní klienty. Zároveň příkaz odstraní dočasné zámky, které byly na záznamech během provádění transakce umístěny.
Pokud při provádění příkazu COMMIT dojde k chybě nebo pokud akce provedené v transakci porušily některé integritní omezení, provede se automaticky explicitní rollback a transakce je odvolána jako celek.
Příkaz COMMIT zruší všechny body návratu (savepoints) vytvořené v transakci.
Je-li proveden příkaz COMMIT uvnitř uložené procedury, je zahájena implicitní transakce nová se stejnými vlastnostmi.
Je-li uvedeno AND CHAIN (i mimo rutinu), po ukončení transakce bude zahájena transakce nová se stejnými vlastnostmi jako dosavadní transakce.
Je-li příkaz COMMIT proveden uvnitř atomického složeného příkazu nebo triggeru, nastane chybový sqlstate 2D000.
Příkaz START TRANSACTION | Transakce a body návratu | Příkaz ROLLBACK |