描述:
语法:
T.index(I:h,w;C,…;F,…)
备注:
将实表T中满足条件w的记录按列 C,…作为键创建索引I,其中w可以省略;有h时创建平均长度为h的hash索引;创建索引时必须存在列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*”)式查询 |