|
|
#6 |
|
MCITP
|
Цитата:
Сообщение от Lemming
X++: static void TmpTableTTSTest(Args _args) { TmpABC tmpABC; ; try { tmpABC.ttsbegin(); tmpABC.ItemId = "Test1"; tmpABC.RefRecId = 1; tmpABC.insert(); tmpABC.ItemId = "Test2"; tmpABC.RefRecId = 2; tmpABC.insert(); while select forupdate tmpABC { tmpABC.ItemId = tmpABC.ItemId + "upd"; tmpABC.update(); } throw error("Throw"); tmpABC.ttscommit(); } catch { while select tmpABC { info(tmpABC.ItemId); } } } Throw Test1upd Test2upd Я как-то не так юзаю соответствующие методы табличного буфера? upd: Ну да, с ручным абортом работает, но только это не совсем то. Вы вызвали ошибку, основная транзакция в БД отвалилась, транзакция же на временной таблице висит по прежнему без изменений. Если вам её тоже нужно откатить, нужно вызвать tmpABC.ttsAbort();
__________________
Zhirenkov Vitaly |
|
|
| Теги |
| временная таблица, транзакции |
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| И снова Query и временные таблицы | 19 | |||
| Временные таблицы в отчете | 25 | |||
| Временные таблицы в отчетах | 5 | |||
| Временные таблицы | 6 | |||
| Временные таблицы в запросе | 4 | |||
|