Киберфак – бесплатно скачать презентации PowerPoint, лекции, рефераты, шпоры, курсовые cyberfac logo
cyberfac.ru
На главную | Регистрация | Вход
  Статьи  
Главная » Статьи » Базы данных » Базы данных

Команды Commit и Rollback

Полезная статья? Пожалуйста, поставьте "+"
Базы данных - Содержание

Оператор COMMIT( с его помощью фиксируем транзакцию) применяется для того, чтобы:

  1. сделать «постоянными» все изменения, сделанные в текущей транзакции (реально данные могут быть изменены несколько позже)
  2. очистить все точки сохранения данной транзакции
  3. завершить транзакцию
  4. освободить все блокировки данной транзакции

Пример Для добавления строки к таблице MyTable и сохранения изменения введите следующие команды:

BEGIN TRANSACTION;

INSERT INTO MyTable VALUES ('50', 'some string');

COMMIT WORK;

ROLLBACK (откат) — оператор языка SQL, который применяется для того, чтобы:

  1. отменить все изменения, внесённые начиная с момента начала транзакции или с какой-то точки сохранения (SAVEPOINT).
  2. очистить все точки сохранения данной транзакции
  3. завершить транзакцию
  4. освободить все блокировки данной транзакции

Замечания по использованию! Рекомендуется явно завершать транзакции в прикладных программах используя команды COMMIT WORK (или ROLLBACK WORK). Если Вы явно не записали транзакцию, а прикладная программа завершилась аварийно, последняя не записанная транзакция будет откачена.

Пример Для добавления записи к таблице MyTable и последующей отмены этого действия, введите следующие команды:

BEGIN TRANSACTION;

INSERT INTO MyTable VALUES ('50', 'some string');

ROLLBACK WORK;

Транзакция (англ. transaction) — в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций. Различают последовательные (обычные), параллельные и распределённые транзакции. Распределённые транзакции подразумевают использование больше чем одной транзакционной системы и требуют намного более сложной логики (например, two-phase commit — двухфазный протокол фиксации транзакции). Также, в некоторых системах реализованы автономные транзакции, или под-транзакции, которые являются автономной частью родительской транзакции.

После ROLLBACK, база данных восстанавливается - отменяются удаления, добавления и изменения в данных, как будто-бы с ней ничего и не делали. В противоположность этой команде, команда COMMIT окончательно подтверждает сохранение изменений.

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

Категория: Базы данных | Добавил: Ni-Cd (09 Декабря 2011)
Просмотров: 1765 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
  Полезные материалы  

В нашем каталоге файлов можно найти много полезной информации. Также советуем заглянуть в каталог статей: в нем есть полезные статьи по темам: Экономика предприятия, Общая экономика, Финансы и Кредит, также Словарь терминов по экономике, Маркетинг, Бухучет и Мировая экономика
Также есть полезная страница Факультеты МИФИ, которая расскажет о том, какие есть в МИФИ факультеты.
Меню
 

Навигация
Базы данных [64]
 

Поиск
 

Онлайн
Онлайн всего: 1
Гостей: 1
Пользователей: 0
 

Статистика


Рейтинг@Mail.ru

 


2007 - 2024 © Ni-Cd. All Rights Reserved