Цитата:
Сообщение от
Lemming
Немного оффтопика, просто в глаза бросилось:
Временным таблицам фиолетово на транзакции, так что если у вас в коде идут операции только над ними, то транзакции лишние. Даже если и случится исключение, то перехватив его ссылка на временную таблицу будет содержать все то, что в нее записали.
p.s. Во всяком случае в трешке, в четверке не проверял, хотя вероятней всего оно везде едино.
Наверное нужно уточнить, что для них "фиолетово" обычные операторы транзакции. Они действительно работают только для таблиц, "замапленных" в БД.
Но для временных таблиц можно (и часто нужно) сделать свою транзакцию посредством вызовов соответсвующих методов на табличном буффере.
Т.е. вышеуказанный пример правильнее было бы написать так:
X++:
TempDummyTable t;
;
t.ttsbegin;
t.Field1="1";
t.Field2="2";
t.insert();
t.Field1="1";
t.Field2="4";
t.insert();
t.ttscommit;
(Вроде раньше писал уже как-то об этом, но не смог найти тему, к сожалению)
UPD
нашёл таки