如何按照一个字段的不同值批量导出多个 txt

【问题】

一、原表结构如下
月份       编号       属性      单位      部门      加入时间    所属室
201305   1009       1          A          A1          201108      
研发室
201305   1009       1          B         B1          201207      
推广室
201305   1009       1          C         C1          201301     
支撑室
201305   1009       1          D          D1         201109    
服务室
201305   1013       2          C          C2         201302    
支撑室
201305   1027       2          A          A3          201007     
研发室
...       ...      ...      ...      ...      ...        ...
原表比较大,有400万条记录,网上的方法都是导出EXCEL的,能否通过查询方式实现批量导出,谢谢。
二、期待结果
所属室的不同值批量导出TXT文件,呈现如下:
研发室.txt,内容如下:
月份      编号       属性      单位      部门      加入时间    所属室
201305   1009       1          A        A1             201108    
研发室
201305   1027       2          A        A3             201007    
研发室
推广室.txt,内容如下:
月份      编号       属性      单位      部门      加入时间    所属室
201305   1009       1        B          B1            201207    
推广室
支撑室.txt,内容如下:
月份      编号       属性      单位      部门      加入时间    所属室
201305   1009       1         C        C1             201301    
支撑室
201305   1013       2         C        C2             201302    
支撑室
服务室.txt,内容如下:
月份      编号       属性      单位      部门      加入时间    所属室
201305   1009       1         D        D1             201109    
服务室

【回答】

       正常的思路是按照“所属室分组,将每个分组明细导出到以所属室命名的TXT文件中,但由于SQL无法保存分组内容(分组后必须聚合),实现起来很麻烦,而且由于数据量大,需要使用游标分批向TXT追加写,非常麻烦。

采用SPL循环游标的方式能很好地处理这个问题,脚本如下:


A

B

1

=db.cursor(“select * from tb1”)

2

for A1,10000


3


= A2.group(所属室)

4


>B3.(file("D:\\"+~.地区+".txt").export@at(~))

A1   根据sql创建数据库游标

A2-B4:对游标A1循环,每次取10000条记录,并按照“所属室”分组,并以追加方式分别导出到以“所属室”命名的txt文件中