描述:
针对游标序列成员做归并运算。
语法:
CS.mergex(xi,…)
备注:
CS是对[xi,…]有序的游标的序列,针对其成员输出的对应序列按照xi做有序归并运算。游标中序列的成员必须同构。支持多路游标, 若成员是多路游标,则必须相同路数且同步分段。
选项:
@u |
并集运算,CS游标序列的成员按顺序合并到一起组成新的游标,去掉重复的成员。缺省包含所有重复成员。 |
@i |
交集运算,返回CS游标序列中共同的成员组成的游标 |
@d |
差集运算,从游标CS1中去掉游标CS2&…CSn中的成员后形成的新游标 |
@0 |
null排最后 |
参数:
CS |
游标组成的序列 |
xi |
表达式,如果是按照多字段归并,字段间用逗号分隔,例如:x1,x2... |
返回值:
游标
示例:
|
A |
B |
C |
|
||
1 |
=demo.cursor("select * from STOCKRECORDS") |
返回取数游标 |
||||
2 |
for |
|
||||
3 |
|
=A1.fetch(500) |
游标中取数 |
|||
4 |
|
if B3==null |
break |
|
||
5 |
|
else |
|
|
||
6 |
|
|
=B3.sort(STOCKID) |
按STOCKID排序 |
||
7 |
|
|
=file("D:\\"+"a"+string(A2)+".txt").export@t(C6) |
每次取的数据存到文件中 |
||
8 |
|
|
=B1=B1|file("D:\\"+"a"+string(A2)+".txt") |
文件对象序列 |
||
9 |
for B1 |
|
|
|
||
10 |
|
=A9.cursor@t() |
|
|
||
11 |
|
=C1=C1|B10 |
|
文件游标序列 |
||
12 |
=C1.mergex(STOCKID) |
|
|
对序列成员按照成员中的STOCKID有序归并 |
||
13 |
=A12.fetch() |
|
|
获取合并后的记录 |
||
14 |
=directory@p("D://*.txt") |
|
|
txt文件内容如下: |
||
15 |
for A14 |
|
|
|
||
16 |
|
=file(A15).cursor@t() |
=B14=B14|B16 |
|
||
17 |
=B14.mergex@i(STOCKID) |
=A17.fetch() |
|
返回共同成员组成的游标,STOCKID有序 |
||
18 |
=directory@p("D://*.txt") |
|
|
txt内容同上 |
||
19 |
for A18 |
|
|
|
||
20 |
|
=file(A19).cursor@t() |
=B18=B18|B20 |
|
||
21 |
=B18.mergex@u(STOCKID) |
=A21.fetch() |
|
返回去掉重复的成员后的新游标,STOCKID有序 |
||
22 |
=directory@p("D://*.txt") |
|
|
txt内容同上 |
||
23 |
for A22 |
|
|
|
||
24 |
|
=file(A23).cursor@t() |
=B22=B22|B24 |
|
||
25 |
=B22.mergex@d(STOCKID) |
=A25.fetch() |
|
从第一个游标中去掉其他游标的成员后形成的新游标,STOCKID有序 |
||
相关概念: