Транзакції
Транзакції гарантують, що або всі операції в межах транзакції будуть виконані успішно, або жодна з них не буде виконана взагалі. Вони необхідні для підтримки узгодженості даних під час більш складних операцій.
Найпростіший спосіб використання транзакцій виглядає так:
Набагато чистіший і елегантніший спосіб досягти того ж результату –
це використання методу transaction()
. Цей метод приймає зворотний
виклик як параметр, який виконується всередині транзакції. Якщо
зворотний виклик виконується без генерування виключення, транзакція
автоматично фіксується. Якщо виняток буде згенеровано, транзакцію
буде відкочено, а виняток буде поширено далі.
Метод transaction()
також може повертати значення: