我需要将一张巨大的桌子拆分成块。
从DB2获取数据并在SSIS中处理
迭代1:获取前10行并处理它
迭代2:获取接下来的10行(11-20)并处理它
迭代3:获取接下来的10行(21-30)并处理它
等等到表的计数(*)
是否有可能从db2获得n行到n行
我正在寻找如下的查询,
select * from from tablename fetch 10到20行
db2 "select row_number() over(order by tabschema, tabname)
, tabschema::char(10), tabname::char(30)
from syscat.tables
order by tabschema, tabname
offset 10 rows
fetch first 10 rows only"
1 2 3
-------------------- ---------- ------------------------------
11 SYSCAT COLCHECKS
12 SYSCAT COLDIST
13 SYSCAT COLGROUPCOLS
14 SYSCAT COLGROUPDIST
15 SYSCAT COLGROUPDISTCOUNTS
16 SYSCAT COLGROUPS
17 SYSCAT COLIDENTATTRIBUTES
18 SYSCAT COLLATIONS
19 SYSCAT COLOPTIONS
20 SYSCAT COLUMNS
10 record(s) selected.
要在SSIS中受益于此方法,您应该按照以下步骤操作:
以下答案是按步骤从SQLite加载数据的分步指南,您可以按照它更改SQL Command语法,如上所述:
"SELECT * FROM MYTABLE ORDER BY ID_COLUMN
OFFSET " + (DT_WSTR,50)@[User::IncrementValue] + "
FETCH FIRST " + (DT_WSTR,50)@[User::IncrementValue] + " ROWS ONLY"