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




MySQL.RU - Webboard



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

> Original message text:
> 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 нет.
>
> Заранее спасибо.
>


From: Dinky - 11/05/2006 - 20:54:19
Subject:Отслеживание транзакций в 5-й версии.
-----------------
в MySQL есть conditions and handlers:
http://dev.mysql.com/doc/refman/5.0/en/declare-handlers.html
список:
http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html

--
Dmitry


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

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

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



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