是否可以在 X++ 上的 update_recordset 上使用 MaxOf?
ttsbegin;
update_recordset asuRepairServiceProdDeviceInfo
setting
RepairCompletionDate = **maxof**(asuRepairOrderTrans.ScanEndDateTime)
join asuRepairOrderTrans
where asuRepairServiceProdDeviceInfo.RepairOrderID == asuRepairOrderTrans.RepairOrderId && asuRepairOrderTrans.RepairStepId == '7000';
info(strFmt("Repair Completion Date FG : Number of records updated is %1."
,asuRepairServiceProdDeviceInfo.rowCount()));
ttscommit;
或者对于 While 语句还有什么不同的方法吗?因为我正在处理超过数百万条记录
在
asuRepairOrderMaxDate
上创建一个视图 (asuRepairOrderTrans
),其中包含 RepairOrderID
、RepairStepId
和 max(ScanEndDateTime)
字段。
那么更新就很简单了:
update_recordset asuRepairServiceProdDeviceInfo
setting RepairCompletionDate = asuRepairOrderMaxDate.ScanEndDateTime
join asuRepairOrderMaxDate
where asuRepairOrderMaxDate.RepairOrderID == asuRepairServiceProdDeviceInfo.RepairOrderId
&& asuRepairOrderMaxDate.RepairStepId == '7000';
info(strFmt("Repair Completion Date FG : Number of records updated is %1.",
asuRepairServiceProdDeviceInfo.rowCount()));