本章节介绍keys()函数的用法。
描述:
为序表设置键。
语法
T.keys(Ki,…)
备注:
设置序表T的键为Ki,…,参数Ki省略时删除T的键。使用T.create()时将同时复制键。
参数:
|
T |
序表。 |
|
Ki |
T的键。 |
选项:
|
@t(Ki,…,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() |
获取A1表中第一条记录的基本键键值,返回结果:[1, " R&D"]。 |
|
4 |
=A1.keys() |
参数省略时删除键。 |
|
5 |
=A1(1).key() |
null |
|
6 |
=A1.keys@t(EID,DEPT,HIREDATE) |
设置A1的基本键为EID和DEPT,时间键为HIREDATE:
|
|
7 |
=A1.create() |
复制A1表结构,同时复制键。 |
|
8 |
=A7.insert(0,1,"Jack","HR",3000,date("2022-03-09")) |
A7表中添加一条记录:
|
|
9 |
=A7(1).key() |
获取A7表中第1条记录的基本键键值:[1, " HR"]。 |
相关概念:
描述:
设置内表的键。
T.keys(Ki,…)
备注:
设置内表T的键为Ki,…。
参数:
|
Ki |
键名,可以有一个或多个,参数Ki,…省略时删掉内表所有键。 |
|
T |
内表。 |
选项:
|
@t(Ki,…,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() |
获取内表第1条记录的基本键键值,返回结果:[1, " Rebecca"]。 |
|
5 |
=A2.keys() |
参数省略,删除内表所有的键。 |
|
6 |
=A3(1).key() |
获取内表第1条记录的基本键键值,返回空。 |
|
7 |
=demo.cursor("select EID,NAME,HIREDATE from employee").memory() |
返回内表。 |
|
8 |
=A7.keys@t(EID,HIREDATE) |
设置内表的基本键为EID,时间键为HIREDATE:
|
|
9 |
=A7(1).key() |
获取内表第1条记录的基本键键值,返回结果:1。 |
描述:
为序表/内表设置主键并创建索引。
语法:
备注:
只有@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。 |
创建其他类型的索引:
|
|
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,并创建排号索引。 |