本章节介绍keys()函数的用法。
描述:
为序表设置键。
语法
T.keys(Ki,…)
备注:
设置T的键为Ki,…,参数空将删除键,使用T.create()时将同时复制键。
参数:
T |
序表。 |
Ki |
键名。 |
选项:
@t(…,KT) |
设置最后一个参数KT为时间键,其它键称为基本键。 |
返回值:
序表
示例:
|
A |
|
1 |
=demo.query("select EID,NAME,DEPT,SALARY,HIREDATE from EMPLOYEE order by EID asc,DEPT asc") |
|
2 |
=A1.keys(EID,DEPT) |
设置A1的键为EID,DEPT 。 |
3 |
=A1(1).key() |
[1,R&D] |
4 |
=A1.keys() |
删除键。 |
5 |
=A1(1).key() |
由于A1没设键,因此返回空。 |
6 |
=A1.keys@t(EID,DEPT,HIREDATE) |
设置A1的基本键为EID,DEPT,时间键为HIREDATE。 |
7 |
=A1.create() |
T有键,则同时复制键。 |
8 |
=A7.insert(0,1,"Jack","HR",3000,date("2022-03-09")) |
|
9 |
=A8(1).key() |
[1,HR],返回基础键。 |
相关概念:
描述:
定义内表的键。
T.keys(Ki,…)
备注:
为内表T定义键Ki,…,支持时间键。
参数:
Ki |
键名,可以有一个或多个,参数Ki,…为空时删掉内表所有键。 |
T |
内表。 |
选项:
@t(…,KT) |
设置最后一个参数KT为时间键,其它键称为基本键。 |
返回值:
内表
示例:
|
A |
|
1 |
=demo.cursor("select EID,NAME,GENDER from EMPLOYEE where EID<10") |
返回取数游标。 |
2 |
=A1.memory() |
返回内表:
|
3 |
=A2.keys(EID,NAME) |
设置内表的键为EID、NAME。 |
4 |
=A3(1).key() |
查看内表第一条记录的键,返回结果:
|
5 |
=A2.keys() |
删除内表的所有键。 |
6 |
=A3(1).key() |
此时查看内表第一条记录的键,返回空。 |
7 |
=demo.cursor("select * from employee").memory() |
返回内表。 |
8 |
=A7.keys@t(EID,HIREDATE) |
设置内表的基本键为EID,时间键为HIREDATE。 |
描述:
对序表/内表设置主键的同时创建索引。
语法:
备注:
只有@i选项时,创建哈希索引。
参数:
Ki |
键名,可以有一个或多个,参数Ki,…为空时删掉T所有的键。 |
T |
序表/内表。 |
n |
哈希表的大小,大于1的整数,缺省为表长。有参数n时无法创建排号索引。 |
选项:
@s |
为排号键类型的主键创建排号索引,使用该选项时应省略参数n。 |
@m |
并行建立索引。 |
@t |
设置最后一个Ki参数为时间键,并用时间键创建索引。 |
@n |
创建序号索引。 |
返回值:
序表/内表
示例:
为序表设置键并创建哈希索引:
|
A |
|
1 |
=demo.query("select EID,NAME,DEPT,SALARY from EMPLOYEE") |
|
2 |
=A1.keys@i(EID,DEPT;5) |
设置A1序表的主键为EID,DEPT,并且创建哈希索引,哈希表大小为5。 |
3 |
=A1.keys@im(EID,NAME) |
并行建立索引。 |
为内表设置键并创建哈希索引:
|
A |
|
1 |
=demo.cursor("select EID,NAME,DEPT,SALARY,HIREDATE from EMPLOYEE").memory() |
|
2 |
=A1.keys@i(EID,DEPT;5) |
设置A1内表的主键为EID,DEPT,并且创建哈希索引,哈希表大小为5。 |
3 |
=A1.keys@im(EID,NAME) |
并行建立索引。 |
创建其他类型的索引:
|
A |
|
1 |
=demo.query("select EID,NAME,DEPT,SALARY,HIREDATE from EMPLOYEE") |
|
2 |
=A1.keys@in(EID) |
设置序表A1的键为EID,并创建序号索引。 |
3 |
=A1.keys@it(EID,HIREDATE) |
设置序表A1的基本键为EID,时间键为HIREDATE,用时间键创建索引。 |
4 |
=A1.keys() |
参数为空,删除序表A1的所有键。 |
5 |
=A1.derive(k(EID:3):PID) |
在序表中增加一个排号类型的字段。 |
6 |
=A5.keys@is(PID) |
设置序表A5的键为PID,并创建排号索引。 |