|
31.01.2007, 13:25 | #1 |
Moderator
|
Порядок записей при вставке
Доброго времени суток!
Последние три дня искал решение для такой проблемы (и только что решил): при вставке в таблицу InventJournalTransTemplate (создана на var слое) записи становились не последовательно (в порядке вставки), а в соответствии с одним из индексов (не кластерный, не Primary в Аксапте). Если отключаю этот индекс то порядок становился совсем необъяснимым. На таблице в Аксапте не было PrimaryIndex, нет и кластерного индекса. Существует три индекса: TemplateIdx (TransTemplateId), JournalIdx(JournalId), JournalInventDimIdx (JournalId, InventDimId) При вставке в таблицу записи становились в порядке соответствующим (сортируются по полям индекса) JournalInventDimIdx. Что увидел на SQL Srv: I_30008TEMPLATEIDX DATAAERAID, TRANSTEMPLATEID I_30008JOURNALIDX DATAAERAID, JOURNALID I_3008JOURNALINVENTDIMIDX DATAAREAID, JOURNALID, INVENTDIMID, RECID Интересно, что SQL Srv в индекс I_3008JOURNALINVENTDIMIDX добавил RecId, хотя в Аксапте его нет. Как я понял, SQL Srv добавил RecId для того чтобы сделать индекс уникальным и использовать как PrimaryKey. Проблему решило добавление RecId на индекс TemplateIdx в Аксапте + сделал его уникальным и Primary. Вопрос -- правильно ли я поступил? |
|
31.01.2007, 13:34 | #2 |
Axapta
|
Цитата:
Developer's Guide: Цитата:
If you do not create at least one unique index, Axapta creates one by combining the first index and the RecId.
|
|
|
За это сообщение автора поблагодарили: DreamCreator (1). |
31.01.2007, 14:29 | #3 |
Moderator
|
Спасибо! Вы меня успокоили
|
|