Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Назавершенная транзакция в прерванной хп. [D7, MSSQL]


Bless ©   (2004-02-03 16:44:00) 

Что происходит, выполнение хранимой процедуры, внутри которой была начата транзакция (begin tran...), была прервана из-за ошибки до команды commit tran или rollback tran.
Что происходит с транзакцией в таком случае? Откатывается ли она автоматически?
Или ошибки внутри процедуры не прерывают ее работу?


Bless   (2004-02-04 14:40:00) [1]

Всем спасибо. Вопрос исчерпан.


Nikolay M.   (2004-02-04 10:18:00) [2]


> Если такого нет, то при создании

Поправлю сам себя. Вот тут описаны некоторые подводные камни:
http://mylib.noda.ru/view.php?id=475


Nikolay M.   (2004-02-04 09:57:00) [3]


> Когда компилируется хп?

Насколько я понимаю в колбасных обрезках, то если в ХП имеется динамический SQL, то ХП будет компилиться каждый раз перед вызовом. Если такого нет, то при создании.
Буду рад услышать другие аргументированные мнения.


Bless   (2004-02-04 09:39:00) [4]

ZrenBy> Вот это здорово :(
Тамошним примером навеяло такие вопросы:
1) Когда компилируется хп?
Перед ее вызовом?
Или один раз сразу после ее создания?


ZrenBy   (2004-02-03 18:14:00) [5]

SET XACT_ABORT ON

Но ложка дегтя
http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=39919


Bless   (2004-02-03 17:27:00) [6]

to KSergey> Спасибо.

>А какого рода "ошибки" имеются в виду?

Не знаю. Разные. А что, это имеет значение?


Nikolay M.   (2004-02-03 17:04:00) [7]

Скорее всего не откатится. А какого рода "ошибки" имеются в виду?


KSergey   (2004-02-03 16:47:00) [8]

Ошибки внутри процедуры не завершают ее работу
после каждого оператора надо писать

IF @@ERROR <> 0
BEGIN
ROLLBACK TRANSACTION
RETURN 0 -- признак ошибки
END


или ждать юкон - в нем обещают нормальную обработку исключений


KSergey   (2004-02-03 16:45:00) [9]

Нифига она не откатывается
Это надо учитывать при разработке ХП и откатывать ее обязательно!


Наверх

Титульная страница Поиск, карта сайта Написать письмо