本章介绍attach()函数的多种用法。
描述:
从集群组表中取出集群附表
语法:
T.attach(T’)
备注:
从集群组表T上取出集群附表T’,附表T’必须在集群组表T中已存在。
参数:
T |
集群组表 |
T’ |
附表名称 |
返回值:
集群附表对象
示例:
组表emp1.ctx:
|
A |
|
1 |
=file("D:\\emp1.ctx") |
|
2 |
=A1.create(#EID,NAME) |
创建组表基表 |
3 |
=demo.cursor("select EID,NAME from employee ") |
|
4 |
=A2.append(A3) |
为基表中添加记录 |
5 |
=A2.attach(t1, SURNAME,DEPT ) |
在基表上添加附表t1 |
6 |
=demo.cursor("select EID,SURNAME,DEPT from employee") |
|
7 |
=A5.append(A6) |
为附表t1添加记录 |
8 |
=A2.attach(t2,GENDER,SALARY) |
在基表上添加附表t2 |
9 |
=demo.cursor("select EID,GENDER,SALARY from employee ") |
|
10 |
=A8.append(A9) |
为附表t2添加记录 |
|
A |
|
1 |
=file@0("emp1.ctx",["192.168.0.116:8281","192.168.0.129:8281"]) |
生成集群复写文件 |
2 |
=A1.create() |
创建复写类型集群组表 |
3 |
=A2.attach(t1) |
取出集群附表t1 |
描述:
在组表基表上增加附表
语法:
T.attach(T’,C…)
备注:
在组表基表T上增加附表T’。组表中可以有一个或多个附表。附表T’的维包括前主表维,且附表的列名不能与基表重复。
参数:
T |
基表 |
T’ |
附表名称 |
C |
附表的列名,可省略,省略时返回名为T’的附表。C前带#表示维。 |
返回值:
附表对象
示例:
|
A |
|
1 |
=file("D:/ctb.ctx") |
|
2 |
=A1.create(#k1,v1) |
创建组表基表,其中k1作为维,v1为基表的列 |
3 |
=A2.attach(table2,#k2,v2) |
在A2返回的基表上增加名为table2的附表,附表的维是k1和k2,列为v1、v2 |
4 |
=A2.attach(table3,v3) |
在A2返回的基表上增加名为table3的附表,附表的维是k1,列为v1、v3 |
描述:
对管道附加其它运算
语法:
ch.attach(…)
备注:
对管道ch附加其它运算,在表达式…中用~表示上一段处理过的数据。
参数:
ch |
管道 |
… |
序列运算表达式 |
返回值:
管道
示例:
|
A |
|
1 |
=demo.query("select EID,NAME,SALARY from EMPLOYEE") |
|
2 |
=channel() |
创建管道 |
3 |
=A2.select(SALARY>10000) |
给管道附加ch.select()计算动作 |
4 |
=A2.attach(~.sort(-SALARY)) |
对管道附加A.sort()计算动作 |
5 |
=A2.fetch() |
A2管道附加结果集函数ch.fetch(),保留管道当前数据 |
6 |
=A1.push(A2) |
将序列A1中的数据推送到管道 |
7 |
=A2.result() |
获取管道计算结果 |