ОСНОВНОЕ

WORDPRESS

Операционные системы

Базы данных

Фреймворк Bootstrap

Слёзы, которыми плачешь по себе, ядовиты (Авессалом Подводный).

SQL – Транзакция

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
SQL - Транзакция
Транзакция представляет собой единицу работы, которая выполняется с базой данных. Операции представляют собой единица или последовательность работы, проделанная в логическом порядке, то ли в ручной моде пользователя или автоматически программой в базы данных.

Транзакция является распространением одного или нескольких изменений в базу данных. Например, если вы создаете запись или обновление записи или удаление записи из таблицы, то вы выполняете транзакцию в этой таблице. Важно контролировать эти операции, чтобы гарантировать целостность данных и обрабатывать ошибки базы данных.

Практически, вы будете делать множество SQL запросов в группах, и вы будете выполнять их все вместе, как часть транзакции.

Свойства транзакций

Транзакции имеют следующие четыре стандартных свойств, как правило, называют аббревиатурой ACID.

  • Atomicity – гарантирует, что все операции в рамках единицы работы завершены успешно. В противном случае, транзакция прерывается в точке выхода из строя , и все предыдущие операции откатываются в прежнее состояние.
  • Consistency – гарантирует, что база данных правильно изменяет состояния на более успешное совершенные транзакции.
  • Isolation – позволяет транзакции работать независимо и прозрачно друг с другом.
  • Durability – гарантирует, что результат или эффект зафиксированной транзакции сохраняется в случае сбоя системы.

Управление транзакцией

Следующие команды используются для управления операциями.

  • COMMIT – для сохранения изменений.
  • ROLLBACK – откат изменений.
  • SAVEPOINT – создает точки внутри групп операций, которые следует откатить.
  • SET TRANSACTION – размещает имя транзакции.

Команды управления транзакциями

Транзакционные команды управления используются только с командами DML, такие как – INSERT, UPDATE и DELETE. Они не могут быть использованы при создании таблиц или опускают их, потому что эти операции автоматически фиксируются в базе данных.

Команда COMMIT

Команда COMMIT является транзакционной командой и используется, чтобы сохранения изменений, вызываемые транзакциями в базе данных. Команда COMMIT сохраняет все транзакции в базе данных с момента последнего COMMIT или команды ROLLBACK.

Синтаксис команды COMMIT выглядит следующим образом:

 

Пример

Рассмотрим таблицу клиентов, имеющих следующие записи:

 

Ниже приведен пример, который удалит эти записи из таблицы, которые имеют возраст = 34, а затем зафиксировать изменения в базе данных.

 

Таким образом, две строки из таблицы будет удалены, и оператор SELECT произведет следующий результат.

Команда ROLLBACK

Команда ROLLBACK является транзакционной командой и используется для отмены операций, которые еще не были сохранены в базе данных. Эта команда может быть использована только для отката транзакции после последних команд commit или rollback.

Синтаксис команды ROLLBACK выглядит следующим образом:

 

Пример

Рассмотрим таблицу клиентов, имеющую следующие записи:

 

Ниже приведен пример, который удалит эти записи из таблицы, которые имеют возраст = 34, а затем откатим изменения в базе данных.

 

Таким образом, операция удаления не будет влиять на таблицу и оператор SELECT покажет следующий результат:

Команда SAVEPOINT

SAVEPOINT это точка в транзакции, когда вы можете откатить транзакцию до определенной точки без отката всех транзакций.

Синтаксис команды SAVEPOINT является таким, как показано ниже:

 

Эта команда служит только в создании SAVEPOINT среди всех транзакционных заявлений. Команда ROLLBACK используется для отмены группы операций.

Синтаксис для отката SAVEPOINT является таким, как показано ниже:

 

Ниже приведен пример, в котором вы собираетесь удалить три записи из таблицы Customers. Вы хотите создать SAVEPOINT перед каждым удалением, так что вы можете откатить к любому SAVEPOINT в любое время, чтобы вернуть соответствующие данные в исходное состояние.

Пример

Рассмотрим таблицу клиентов, имеющих следующие записи:

 

Следующий блок кода содержит ряд операций.

 

Теперь, когда три операции удаления произошло, давайте предположим, что вы передумали и решили откатить к SAVEPOINT, которые вы определили как SP2. Поскольку SP2 была создана после первого удаления, два последних удалений отменяются:

 

Обратите внимание на то, что только первое удаление имело место, так как вы откатили к SP2.

 

Команда RELEASE SAVEPOINT

Команда RELEASE SAVEPOINT используется для удаления SAVEPOINT, который вы создали.

Синтаксис команды RELEASE SAVEPOINT выглядит следующим образом.

 

После того, как SAVEPOINT был опубликован, вы больше не можете использовать команду ROLLBACK, чтобы отменить транзакции, выполненные с момента последнего SAVEPOINT.

Команда SET TRANSACTION

Команда SET TRANSACTION может быть использована для инициирования транзакции базы данных. Эта команда используется для определения характеристик для транзакции, которая следует. Например, вы можете указать транзакцию только для чтения или чтения и записи.

Синтаксис команды SET TRANSACTION выглядит следующим образом.

SQL - Транзакция

Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Простая логическая игра "Поймай кота". Задача игры окружить кота точками так, чтобы он не смог убежать с поля. Постигла неудача - начни игру снова!

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close