Transakční zpracování
Transakční zpracování
5. Příklad
Systém SQLite defaultně běží v tzv. auto-commit módu. To znamená, že pro každý příkaz zahajuje systém transakci automaticky. Explicitně lze transakci zahájit příkazem BEGIN TRANSACTION a potvrdit příkazem COMMIT TRANSACTION, případně vrátit zpět příkazem ROLLBACK TRANSACTION.
Příklad
Uvažujme případ, že klient banky má dva účty a chce převést určitou částku z jednoho účtu na druhý. Taková akce ve skutečnosti obnáší dvě operace. Tou první je odečtení částky z jednoho účtu a druhá je přičtení částky k druhému účtu. Pokud by po první operaci došlo k nějaké chybě a následně nedošlo k přičtení částky na druhý účet, klient by přišel o své peníze. Řešením je provedení operací pomocí transakce, kdy se průběh operací bude tvářit jen jako jedna operace. Pokud by při zpracování transakce došlo k nějaké chybě, změny se vrátí do původního stavu.