Цитата:
Сообщение от
mazzy
А что говорит?
Не получается ли так, что новый код совпадает с уже существующим?
Цитата:
Сообщение от
Lemming
Аесли сразу после вызова inventTable.renamePrimaryKey(); добавить info(inventTable.ItemId) и посмотреть что выдает, еще до закрытия транзакции? Просто ItemId входит в кластерный индекс таблицы InventTable ItemIdx и в свое время были похожие проблемы с апдейтом полей входящих в кластерный индекс.
Извиняюсь за молчание, заболел.
Новый код отличается от страрого:
PHP код:
static void reNameItemId(Args _args)
{
InventTable inventTable;
;
ttsbegin;
select forupdate inventTable;
inventTable.ItemId = substr(inventTable.ItemId, 3 ,9);
info(strFmt("ItemId after conversion %1", inventTable.ItemId));
inventTable.renamePrimaryKey();
info(strFmt("ItemId after call renamePrimaryKey() %1", inventTable.ItemId));
ttscommit;
}
На выходе дает:
PHP код:
ItemId after conversion 0000001
ItemId after call renamePrimaryKey() 000000001
ItemId входит в кластерный индекс.. попробую отключить и повторить операцию.