02.06.2004, 09:46 | #1 |
Участник
|
Множественная вставка записей
Привет всем !
Подскажите есть вот такой код QueryRun buildQuery(... { ... return new QueryRun(query) } ... query = this.buildQuery(...); while (query.next()) { .... myTable.insert() } Соответственно все это медленно работает. Хотелось бы переделать это на структуру что-то типа insert .... select... Не подскажите как это сделать ? Имеем Axapta 3.0 SP2 Смотрел INSERT_RECORDSET, но ни фига не понял как работать в данном случае с query В программировании в аксапте новичок, поэтому сильно камнями не кидайте. |
|
02.06.2004, 10:05 | #2 |
Участник
|
а Array Insert смотрел?
AxDvgLangUs.chm::/X++_constructs/Data_Manipulation/Insert/Array_insert.htm |
|
02.06.2004, 10:10 | #3 |
Участник
|
смотрел.
но как я понял он не работает с объектом типа query или я ошибся. Если можно пример привести, плиз. |
|
15.10.2008, 14:09 | #4 |
Участник
|
Столкнулся с такой же проблемой, подскажите как это можно реализовать?
|
|
15.10.2008, 14:43 | #5 |
Участник
|
какая проблема? query выберает записи, а класс RecordInsertList вставляет созданные строки в таблицу
|
|
15.10.2008, 15:57 | #6 |
Участник
|
А по подробнее можно пожалуйста???
|
|
15.10.2008, 16:53 | #7 |
Участник
|
подробней о чем? примеры работы данных классов есть в аксапте
|
|
16.10.2008, 08:45 | #8 |
Участник
|
как это можно сделать
X++: query = new Query(); qbds = query.addDataSource(TableNum(RAssetTrans)); qbds = qbds.addDataSource(TableNum(RAssetTable)); qbds.relations(True); queryRun = new QueryRun(query); rTransList = new RecordInsertList(tableNum(TmpRAssetAmortizationReportGrouping)); if (queryRun.prompt()) { while (queryRun.next()) { rAssetTable = queryRun.get(TableNum(RAssetTable)); rAssetTrans = queryRun.get(TableNum(RAssetTrans)); grouping.data( ); grouping.assetId = RAssetTrans.AccountNum; grouping.BranchId = RAssetTrans.Dimension[1]; grouping.GroupId = RAssetTable.AssetGroup; grouping.Amount[4] = RAssetTrans.AmountCur; rTransList.add(grouping); } rTransList.insertDatabase(); } while select * from grouping { info(strFmt("%1 - %2 - %3 - %4", grouping.assetId,grouping.BranchId,grouping.GroupId,grouping.Amount[4])); } |
|
16.10.2008, 10:56 | #9 |
Участник
|
в метод table.data() передается переменная тогоже типа для копирования значений всех полей
|
|
16.10.2008, 14:22 | #10 |
Участник
|
Да, спасибо ice, разобрался, только вот что плохо что он не работает с tmp таблицами ((
|
|
Теги |
ax3.0 |
|
|