Тема 9: Команды управления транзакциями в базах данных SQLite3 (TCL операторы)
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. Мы…
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. В этой записи ты познакомишься с командой BEGIN TRANSACTION и с тем, как реализован оператор BEGIN TRANSACTION в базах данных SQLite. Напомню, что команда BEGIN TRANSACTION говорит СУБД о том, что клиент хочет начать транзакцию и при этом СУБД должна изолировать данные, с которыми будет работать пользователь в транзакции. В этой статье мы ознакомимся с синтаксисом команды BEGIN TRANSACTION и некоторыми ее особенностями в SQLite3.
Рассмотрим первую команду из группы управления транзакциями в SQLite3. Команда BEGIN TRANSACTION в SQLite позволяет начать транзакцию. Давайте рассмотрим синтаксис команды BEGIN TRANSACTION в SQLite3.
Синтаксис команды BEGIN TRANSACTION в базах SQLite3 довольно прост: сначала идут два ключевых слово BEGIN TRANSACTION, а далее уже идут команды транзакции. Этот синтаксис СУБД SQLite3 позволяет упростить еще сильнее, мы можем не писать ключевое слово TRANSACTION.
SQLite3 позволяет выбрать режим блокировки при выполнении транзакции, для этого используются ключевые слова: DEFERRED, IMMEDIATE, EXCLUSIVE.
Транзакции с режимом DEFERRED в SQLite3 выполняется следующим образом: база данных блокируется на запись при выполнение первого оператора чтения или записи, который находится внутри тела транзакции (после команды BEGIN). При такой блокировки база данных будет доступна другим пользователям только для чтения, но не для записи. Режим DEFERRED является стандартным в SQLite3 и его можно не указывать.
Транзакция с режимом IMMEDIATE. Если мы укажем ключевое слово IMMEDIATE после BEGIN, SQLite3 выполнит блокировку базы данных после ключевого слова BEGIN.
Транзакция в режиме EXCLUSIVE. Если мы напишем ключевое слово EXCLUSIVE между BEGIN и TRANSACTION, то SQLite3 заблокирует базу данных для других пользователей не только на запись, но и на чтение. Блокировка происходит после ключевого слова BEGIN.
Выберете удобный для себя способ, чтобы оставить комментарий