AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.08.2022, 08:21   #1  
Pandasama is offline
Pandasama
Участник
 
457 / 137 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Query insert_recordset с константами
Коллеги, подскажите
Есть ли возможность при вставке записей через Query::Insert_recordset как-то передать константы для вставки?

для обычного insert_recordset это делается путем указания переменных, содержащих нужные константы, в select одной из таблиц
X++:
String255 txt = "bbbb";

insert_recordset mytable(mycol1, mycol2, mycol2)
select col1, col2, txt from mytable2;
Старый 24.08.2022, 10:08   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Вопрос можно трансформировать в то как построить Query, который будет в качестве полей содержать нужные константы.

Прямого способа нет.
В качестве обходного пути можно предложить Join со вспомогательной таблицей из одной строки, в которую предварительно записать нужные значения

В последних версиях наверное можно ещё что-то при помощи Computed Column придумать
За это сообщение автора поблагодарили: Pandasama (2).
Старый 24.08.2022, 10:48   #3  
Pandasama is offline
Pandasama
Участник
 
457 / 137 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Речь про 2012.

Да, джойн с однострочной таблицей - вариант.
Но думал, вдруг можно на уровне мэппинга как-то задать это.

А так, наверно, проще будет отследить добавленные записи и потом прогнать update_recordset.
Старый 24.08.2022, 14:56   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Pandasama Посмотреть сообщение
А так, наверно, проще будет отследить добавленные записи и потом прогнать update_recordset.
Только стоит учитывать, что в общем случае, если редактирование данных разбивать на несколько этапов, то для промежуточного состояния таблицы можно нарваться на нарушение уникального индекса.
Да и производительность двух отдельных запросов будет ниже чем у одного общего.

Есть ещё не штатный вариант. Можно собрать View нужной структуры и подкорректировать у него SQL запрос заменив поля на требуемые константы.
Цитата:
Сообщение от Pandasama Посмотреть сообщение
Речь про 2012
Вот как раз начиная с 2012 появился фунционал Computed Column. При помощи него можно собрать нужный View не влезая в его SQL
Теги
ax2012, insert_recordset, query

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Query::Insert_recordset() - выборка из временной таблицы Cardagant DAX: Программирование 6 03.12.2021 19:33
Kashperuk Ivan: Development tutorial: insert_recordset using the Query class Blog bot DAX Blogs 12 13.09.2021 19:43
AX2009. Insert_Recordset идёт построчно SuperStar88 DAX: Программирование 5 26.07.2019 08:50
fatihdemirci: X++ Set Based Operations : Insert_recordset Blog bot DAX Blogs 0 12.03.2019 05:26

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:53.