T.index(n)

阅读(944) 标签: 内表, hash索引表,

描述:

为内表建立索引表

语法:

T.index(n)

备注:

为内表T创建长度为n的索引表,n0或内表重置键时将清除索引表。

建立索引时要求T的主键唯一,否则报错。

参数:

T

主键唯一的内表。

n

索引长度,缺省使用默认的索引长度。

选项:

@m

并行建立索引。

@n

建立序号索引,忽略参数nT中无序号键时直接用记录序号。

@s

T的基本键是排号类型时建立成多层树状索引,忽略参数n

返回值:

内表

示例:

为内表建立索引:

 

A

 

1

=file("ei.ctx")

 

2

=A1.create@y(#EID,NAME,DEPT)

创建组表基表,EID为键。

3

=demo.cursor("select EID,NAME,DEPT from employee")

 

4

=A2.append@i(A3)

A3游标中的数据追加到组表中。

5

=A4.memory()

用组表的实表生成内表,内表继承实表的键。

6

=A5.index(10)

为内表建立长度为10的索引。

7

=A5.index(0)

参数为0,清除内表中的索引表。

为内表建立多层树状索引:

 

A

 

1

=3.new(k(~:2):id,~*~:num)

创建序表。

2

=A1.keys(id)

设置序表的键为id

3

=A2.memory()

将序表转化为内表,继承序表的键:

4

=A3.index@s()

内表的键为排号类型,使用@s选项,为内表创建多层树状索引。

为内表建立序号索引:

 

A

 

1

=to(100).new(~*2:c1,rand():c2)

创建序表:

2

=A1.memory()

用序表生成内表。

3

=A2.index@n()

使用@n选项,A2内表中无序号键,所以基于记录序号为内表建立序号索引。

4

=A3.find(6)

查询内表中键值为6的记录,即序号为6的记录,返回结果如下:

5

=A2.keys(c1)

重置内表的键,设置c1为键字段,清除内表中的索引表。

6

=A3.find(6)

查询键值为6的记录,返回结果如下: