本章介绍create()函数的多种用法。
描述:
创建空序表
语法:
create(Fi,…)
备注:
产生以Fi,…为字段的空序表
参数:
Fi |
字段名 |
返回值:
空序表
示例:
|
A |
|
1 |
=create(id,name,sex) |
|
描述:
创建含有键的空序表
语法:
create(#Fi,…)
备注:
产生以Fi,…为字段的空序表,带有#的字段名被认为是键
参数:
Fi |
字段名 |
返回值:
空序表
示例:
|
A |
|
1 |
=create(#id,#name,gender) |
id ,name 两个字段为键。 |
描述:
打开已经存在的组表
语法:
f.create() |
打开不带密码的已经存在的组表 |
f.create(;;p) |
打开加密的已经存在的组表 |
备注:
打开已经存在的组表。当p是写入密码时可以读取组表,更新组表,增加新附表等;p为读取密码时只读,不能操作组表。当加密组表有读写两个密码时,只需按照需要写其中一个密码即可。
参数:
f |
已经存在的组表文件 |
p |
写入密码/读取密码 |
返回值:
组表/集群基表对象
示例:
|
A |
|
1 |
=file("D:\\employee2.ctx") |
|
2 |
=A1.create(#EID,NAME,GENDER;;"@!*123":"12") |
生成加密组表 |
3 |
=file("D:\\employee3.ctx") |
|
4 |
=A3.create(#EID,NAME,GENDER) |
生成不加密组表 |
5 |
=A3.create() |
打开不加密的组表文件 |
6 |
=A1.create(;;"12") |
用读取密码读取已存在写/读加密组表 |
7 |
=A1.create(;;"@!*123") |
用写入密码打开已存在写/读密码的加密组表 |
描述:
打开已经存在的集群组表
语法:
f.create() |
打开不带密码的已经存在的集群组表 |
f.create(;;p) |
打开加密的已经存在的集群组表 |
备注:
打开已经存在的集群组表。集群组表由文件的类型决定生成的集群基表的类型,分布集群文件对应的集群基表为分段类型,复写集群文件对应的集群基表为复写类型。当p是写入密码时可以读取组表,更新组表,增加新附表等;p为读取密码时只读,不能操作组表。当加密组表有读写两个密码时,只需按照需要写其中一个密码即可。
参数:
f |
已经存在的集群文件 |
p |
写入密码/读取密码 |
返回值:
集群组表对象
示例:
|
A |
|
1 |
=file@0("emp1.ctx",["192.168.0.116:8281","192.168.0.129:8281"]) |
生成集群复写文件 |
2 |
=A1.create() |
创建复写类型集群基表 |
3 |
=file@0("employee2.ctx",["192.168.31.72:8281"]) |
|
4 |
=A3.create(;;"12") |
用读取密码读取已存在写/读加密的集群组表 |
5 |
=A3.create(;;"@!*123") |
用写入密码打开已存在写/读密码的集群组表 |
描述:
用文件创建组表的基表
语法:
f.create(C:b1,…;K:b2;pw:pr)
备注:
用文件f创建组表的基表,以下简称基表,C是基表的列;C前带#表示维,维必须在前面,并且基表中的记录对于维必须是有序的,维可以有多个;b1表示排号键的长度;K为分段键,若是排号时则用前b2个字节作为分段键。组表文件的扩展名为ctx。
参数:
f |
本地文件 |
C |
基表的列 |
b1 |
排号键的长度,不超过8的整数。可以省略,省略时K不是排号类型 |
K |
分段键 |
b2 |
字节数,不超过8的整数,可以省略 |
pw |
写入密码,可省略;当写入密码省略时,读取密码必须省略 |
pr |
读取密码,可省略;当写入密码不省略时,读取密码可省略 |
选项:
@u |
不分段,缺省将分段 |
@r |
生成行存文件,缺省用列存,行存模式的组表不支持使用多路游标 |
@y |
文件已存在时强制重新创建,缺省中断计算并弹出错误信息 |
返回值:
基表
示例:
|
A |
|
1 |
=file("D:\\employee1.ctx") |
|
2 |
=A1.create(#EID,NAME,GENDER) |
创建无排号键的基表employee1,EID、NAME、GENDER为基表的列名,其中EID表示维 |
3 |
=file("D:\\employee2.ctx") |
|
4 |
=A3.create(#EID:3,NAME,GENDER;EID:2) |
创建以EID为排号键,EID的前两个字节为分段键的基表,且排号键的长度是3 |
5 |
=file("D:\\employee3.ctx") |
|
6 |
=A5.create(#EID,NAME,GENDER;;"@!*123":"12") |
创建带有写:读密码的基表 |
7 |
=file@zw("emp1.ctx",["192.168.0.131:8281"]) |
|
8 |
=A1.create(#EID,NAME,GENDER) |
创建不加密的集群基表 |
9 |
=A1.create(#EID,NAME,GENDER;;"@!*123":"12") |
创建带有写:读密码的集群基表 |
10 |
=file@z("emp1.ctx",["192.168.0.116:8281"]) |
从节点机"192.168.0.116:8281"的1区读取组表文件emp1.ctx,生成分布类型的集群文件 |
11 |
=A10. create(#EID,NAME,GENDER) |
创建集群基表 |
12 |
=A1.create@y(#EID,NAME,GENDER) |
强制重新创建,无选项@y时报错 |
描述:
用分布文件创建集群组表的基表
语法:
f.create(C:b1,…;K:b2;pw:pr)
备注:
用分布文件f创建集群组表的基表,以下简称基表,C是基表的列,C前带#表示维,基表中的记录对于维必须是有序的,维可以有多个;b1表示排号键的长度;K为分段键,若K是排号时则用前b2个字节作为分段键。
当创建可写的集群表时,仅用于维护;可执行attach, index, reset, append, update, delete等方法;在空数据的集群文件中使用append时必须先追加集群游标。
参数:
f |
分布文件 |
C |
基表的列 |
b1 |
排号键的长度,不超过8的整数。可以省略,省略时K不是排号类型 |
K |
分段键 |
b2 |
字节数,不超过8的整数,可以省略 |
pw |
写入密码,可省略;当写入密码省略时,读取密码必须省略 |
pr |
读取密码,可省略;当写入密码不省略时,读取密码可省略 |
选项:
@u |
不分段,缺省将分段 |
@r |
生成行存文件,缺省用列存,行存模式的组表不支持使用多路游标 |
@y |
文件已存在时强制重新创建,缺省中断计算并弹出错误信息 |
返回值:
集群表对象
示例:
|
A |
|
1 |
[192.168.31.72:8281] |
|
2 |
=file@z("salespart.ctx", A1) |
|
3 |
=A2.create() |
|
4 |
=A3.cursor() |
产生集群游标 |
5 |
=file@zw("salespart1.ctx",["192.168.31.72:8281"]) |
salespart1.ctx不存在,用于产生可写的分布文件 |
6 |
=A5.create(#EID,Name,OCount;;"@!*123":"12") |
创建带有写:读密码的集群表 |
7 |
>A6.append(A4) |
追加集群游标 |
8 |
=A6.cursor().fetch() |
|
9 |
=file@n("D:\\1\\EmpCTX.ctx",A1) |
EmpCTX.ctx中有字段EID,Name,Dept,Age其中 EID为排号键 |
10 |
=A9.create() |
|
11 |
=A10.cursor() |
产生集群游标 |
12 |
=file@wz("EmpCTX2.ctx",A1) |
|
13 |
=A12.create(#EID:4,Name,Dept,Age;EID:3) |
创建以EID为排号键,EID的前3个字节为分段键的基表,且排号键的长度是4 |
14 |
>A13.append(A11) |
追加集群游标 |
15 |
=A13.cursor().fetch() |
|
描述:
复制序表T的数据结构,以此产生一个新的空序表
语法:
T.create()
备注:
如果T有键,则同时复制键。
参数:
T |
序表 |
返回值:
新空序表
示例:
Ø 由普通序表产生
|
A |
|
1 |
=demo.query("select top 1 * from DEPARTMENT") |
|
2 |
=A1.create() |
|
通过=A1.create (),产生一个空序表A2,这个空序表与A1序表的数据结构一致,都是由DEPT和MANAGER字段组成
Ø 复制键和描述符
|
A |
|
1 |
=demo.query("select * from DEPARTMENT ") |
|
2 |
=A1.keys(DEPT) |
|
3 |
=A1.create() |
产生一个空序表,与A1序表的数据结构一致,且同时复制了键 |
描述:
复制记录r的数据结构,以此产生一个新的空序表
语法:
r.create()
备注:
如果r有键,则同时复制键。
参数:
r |
记录 |
返回值:
新空序表
示例:
Ø 由普通记录产生
|
A |
|
1 |
=demo.query("select top 1 * from DEPARTMENT") |
|
2 |
=A1(1).create() |
|
通过=A1(1).create (),产生一个空序表A2,这个空序表与A1(1)记录的数据结构一致,都是由DEPT和MANAGER字段组成
Ø 复制键和描述符
|
A |
|
1 |
=demo.query("select * from DEPARTMENT ") |
|
2 |
=A1.keys(DEPT) |
|
3 |
=A1(1).create() |
产生一个空序表,与A1(1)记录的数据结构一致,且同时复制了键 |