![]() |
#1 |
Участник
|
Вложенные транзакции ttsbegin\ttscommit
При попытке откатить вложенную транзакцию, откатывается всё целиком.
PHP код:
А как вообще используется subj в Axapta? |
|
![]() |
#2 |
----------------
|
Вложенные транзакции
Никак.
Их нет с точки зрения SQL-сервера. Чтобы убедиться в этом посмотрите трейс какого-нибудь примера с вложенными транзакциями.. |
|
![]() |
#3 |
Участник
|
Wamr, разреши маленькую поправку.
Их нет с точки зрения... MS SQL- сервера. |
|
![]() |
#4 |
----------------
|
Цитата:
Их нет с точки зрения... MS SQL- сервера
если выполнить приведенный код , то выведется "Local error"? при каждом ttsbegin открывается транзакция, а при ttsabort закрывается только текущей уровень, а не сбрасывается до 0? |
|
![]() |
#5 |
Участник
|
классный вопрос. щас проверим.
но там, по-моему, сбрасывать в 0 будет уже Аксапта, а не Оракл... |
|
![]() |
#6 |
Участник
|
А разве SQL Server сам по себе не поддерживает вложенные транзакции должным образом???
Это исключительно фитча Аксапты. |
|
![]() |
#7 |
Участник
|
перечитал BOL. Действительно, MS SQL поддерживает вложенные ЯВНЫЕ транзакции. Был неправ, когда косил на MS.
![]() Проверил пример на Оракле. Как и следовало ожидать выдает сообщение про "Global error". Согласен. Похоже это фича Аксапты. |
|
![]() |
#8 |
Участник
|
очень очень очень грусная фича......
|
|
![]() |
#9 |
Гость
|
Все проще: try..catch внутри транзакции не работает (2.5, 3.0)
|
|
![]() |
#10 |
Участник
|
Цитата:
Изначально опубликовано ahtoh
Все проще: try..catch внутри транзакции не работает (2.5, 3.0) |
|