从 db2 获取前 n 到 n 行

2021-12-30 00:00:00 etl batch-processing db2 sql-server ssis

我需要将一个巨大的表格分成多个块.

I need to split a huge table in to chunks.

从 DB2 中获取数据并在 SSIS 中处理

Fetching data from DB2 and processing in SSIS

迭代1:获取前10行并处理

iteration 1 : Get first 10 rows and process it

迭代2:获取下10行(11-20)并处理

iteration 2 : Get next 10 rows(11-20) and process it

迭代3:获取接下来的10行(21-30)并处理

iteration 3 : Get next 10 rows(21-30) and process it

依此类推,直到一个表的count(*)

and so on till count(*) of a table

是否可以从 db2 中获取前 n 到 n 行

Is it possible to get top n to n rows from db2

我正在寻找如下查询,

select * from from tablename fetch 10 到 20 行

select * from from tablename fetch 10 to 20 rows

推荐答案

https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0061832.html

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.

相关文章