![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
При вызове исключения все, что сделано в ХП откатывается, так? [D6, IB6.x]
calm © (2003-03-21 16:26:00)Имеется хранимая процедура MainDel, в которой производится несколько вызовов других процедур, в которых удаляются записи.
Примерно так :
...
for select xxx
from xxx
....
do begin
execute procedure Del2 /* тут производится хитрое удаление */
end
...
execute procedure Del1;
При вызове Del2 может произойти исключение. При этом все откатится к состоянию на момент запуска ХП MainDel, а не Del2. Я правильно понимаю?
calm (2003-03-21 17:19:00) [1]Впрочем...
> Johnmen © (21.03.03 16:29)
> Откатится, если откатишь. См.управление транзакциями.
Если не затруднит - пару слов на эту тему.
Хелпа под рукой нет :((
calm (2003-03-21 17:17:00) [2]Спасибо.
А то я что-то вдруг засомневался в себе.
Alexander Vasjuk (2003-03-21 16:59:00) [3]Из документации и личного опыта
Про исключения ibdemo.ru статья есть
Johnmen (2003-03-21 16:51:00) [4]>Alexander Vasjuk (21.03.03 16:46)
>Процедура выполняется в рамках транзакции, и при любом сбое >транзакция полностью со всеми вложенными транзакциями ?>откатывается.
Откуда такие интересные сведения ?
Alexander Vasjuk (2003-03-21 16:46:00) [5]Правльно понимаешь.
Процедура выполняется в рамках транзакции, и при любом сбое транзакция полностью со всеми вложенными транзакциями откатывается.
Это свойство интересно проявляется, когда внутри процедуры меняестя какой-нибудь эксепшн, он же вызывается, клиенту выныривает глюк с новой подписью, а в результате глюка экцепшн возвращает себе старое значенрие.
Я так раньше локализовал язык ошибок.
Johnmen (2003-03-21 16:29:00) [6]Откатится, если откатишь. См.управление транзакциями.