Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Отслеживание транзакций в 5-й версии. (RIBor) 11/05/2006 - 16:33:42
      Re: Отслеживание транзакций в 5-й версии. (Dinky) 11/05/2006 - 20:54:19



From: RIBor - 11/05/2006 - 16:33:42
Subject:Отслеживание транзакций в 5-й версии.
-----------------
Всем доброго времени суток!
Подскажите, каким образом в процедуре можно отследить успешность операций в явной транзакции и в случае успеха её завершить, либо откатить.
В MS SQL для этого используется системная переменная @@error.
Т.е. используется конструкция
begin tran
<операторы>
if @@error = 0
commin tran
else
rollback tran
В MySQL ничего подобного нет. Для операций вставки можно использовать функцию row_count() и если она возвращает 0 - откатывать транзакцию. А вот как быть с операциями удаления?
Например:
start tran ;

delete from t1 ;
delete from t2 where ... ;
delete from t3 where ... ;

If <условие???> then
rollback ;
else
commit ;
end if ;

Функцию row_count() использовать нельзя, так как возможна ситуация, когда строки для удаления из таблицы 1 есть, а из t2 и t3 нет.

Заранее спасибо.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
27803



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |