我有一个临时表,其中插入从SELECT查询中提取的修改后的数据。将批号插入到Oracle中的表SQL
在这个临时表我想组我行成批次,所以我在我的选择增加了一个叫做“BATCH_NUM”的索引INT列
,我希望达到的思路是这样的(对于比方说1000个结果声明)。
伪码
Batch Size = 100
Count = 0
For batch size in results set
Insert Into Temp Table (a , b , y , count)
Count++
当前SQL - 输入静态值1到BATCH_NUM列
INSERT INTO TEMP_TABLE
(
ASSET_ID,
PAR_PROM_INTEG_ID,
IGNORE
BATCH_NUM
)
SELECT carelevel.row_id, pstn.PROM_INTEG_ID,
CASE
WHEN promoprod.fabric_cd = 'Disabled'
THEN 'Y'
ELSE 'N'
END
'1'
FROM SIEBEL.S_ASSET carelevel
INNER JOIN SIEBEL.S_ASSET pstn
ON pstn.row_id = carelevel.par_asset_id
INNER JOIN SIEBEl.S_ASSET promotion
ON pstn.prom_integ_id = promotion.integration_id
INNER JOIN SIEBEL.S_PROD_INT prod
ON prod.row_id = carelevel.prod_id
INNER JOIN SIEBEL.S_ORG_EXT bill
ON carelevel.bill_accnt_id = bill.row_id
INNER JOIN SIEBEL.S_INV_PROF invoice
ON bill.row_id = invoice.accnt_id
INNER JOIN SIEBEL.S_PROD_INT promoprod
ON promotion.prod_id = promoprod.row_id
WHERE prod.part_num = 'Testproduct'
但如果select语句有1000个结果,那么我想BATCH_NUM从1走,每100个记录2,3,4,5,6,7,8,9,10。
可以这样做吗?
你只想要第一批 - 或在同一时间将下列值作为另一批次的一部分插入e? (比如说1-100 =>批次1,101-200 =>批次2) – 2014-09-24 15:25:49
正确,递增批次数量取决于结果集/批量大小 – kaleeway 2014-09-24 15:35:12