Показать сообщение отдельно
Старый 02.12.2021, 21:22   #2  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от Cardagant Посмотреть сообщение
Всем добрый день!

Спрашиваю так как сам решения не нахожу.

Можно ли использовать Query::Insert_recordset() для выборки данных из временной таблицы для вставки их в обычную? Yе нахожу куда в таком случае передаётся курсор временной таблицы, из которой делат ьвыборку.

Заранее спасибо!

UPD: Исходная задача смочь запустить следующий запрос:
X++:
            insert_recordset referenceTable (mainTableReferenceField, anotherTableReferenceField)
            select RecId, RefRecId
                from selectedRecords
            notexists join referenceTable
                where referenceTable.(mainTableReferenceField) == callerBaseRecord.RecId
                   && referenceTable.(anotherTableReferenceField) == selectedRecords.RefRecId;
где
mainTableReferenceField и anotherTableReferenceField - известные id полей (переменные типа FieldId) таблицы referenceTable
selectedRecords - временная таблица
Я бы избегал использовать insert_recordset, а также join c временными таблицами, если только не стоит отдельной задачи оптимизации.

У меня к примеру RecId в InMemory таблице в версии 10.0.16 в какой-то момент какая-то корова просто слизывает. Было к примеру 7456, а потом 0.
Все значения пользовательских полей при этом есть. Никаких buf2buf нет.
Даже разбираться нет смысла, просто полагаюсь на свое поле myRecId которое берет значение от RecId после insert.

Клиент не MS будет клеймить, а вас, если в очередной бинарной версии они что-нибудь учудят. А они могут. Там же оптимизировать и оптимизировать