T.index(I:h,w;C,…;F,…)

阅读(656) 标签: 创建, 检索文件, 布尔值,

描述:

为实表创建检索文件

语法:

T.index(I:h,w;C,…;F,…)

备注:

将实表T中满足条件w的记录按列 C,…作为键创建索引I,其中w可以省略;有h时创建平均长度为hhash索引;创建索引时必须存在列C和索引名称I,索引名称I不可重复,索引创建成功后自动生成名称唯一的索引文件。只有I参数时删除索引I,参数全部为空时删除所有索引;当是hash索引时,只能进行等值查询,也可以使用contain语法。参数C不允许是从主表继承的字段。

F为附表的字段名,有参数F时,将F字段记入索引文件,当使用该索引取出记录的时候,只能取出索引字段C和字段F,该类索引的优势在于可以通过C的值快速查询出来F的值。F省略时索引中记录所有实表字段的位置信息。

参数:

T

实表

I

索引名称

w

筛选条件,可省略,缺省读取全集

C

建立索引的字段

h

索引长度

F

实表的字段名,可省略

选项:

@2

只有参数I时,主动加载索引的第二层并保持

@3

只有参数I时,主动加载索引的第三层并保持

@0

只有参数I时,释放

@w

按列C建立全文检索,可支持like(“*X*”)式检索

返回值:

Boolean

示例:

 

A

 

1

=file("D:\\emp1.ctx")

 

2

=A1.create(#EID,NAME;EID)

创建以EID为排号键、分段键的组表基表

3

=demo.cursor("select EID,NAME from employee where EID< 10")

 

4

=A2.append(A3)

在基表中追加游标记录

5

=A2.attach(table1,DEPT,GENDER)

在基表上增加附表table1

6

=demo.cursor("select EID,DEPT,GENDER from employee where EID< 10")

 

7

=A5.append(A6)

在实表table1中追加游标记录

8

=A7.index(test_index,GENDER=="F";DEPT;)

DEPT字段建test_index1索引

9

=A5.index(test_index3,["F"].contain(GENDER);DEPT;)

使用contain语法,用DEPT字段建test_index3索引

10

=A5.index(idx1:10;DEPT;)

DEPT字段创建长度为10的索引idx1

11

=A5.index(test_index3)

删除索引test_index3

12

=A5.index()

删除所有索引

13

=A5.index(test_index,GENDER=="F";DEPT;GENDER)

建立的索引,在通过该索引取数时,只能取出索引字段DEPT和字段GENDER

14

=A7.index@w(test_index,GENDER=="F";DEPT;)

按列DEPT建立全文索引

15

=A14.icursor (;like(DEPT,"*ale*"),test_index).fetch()

使用like(“*X*”)式查询