keys()

阅读(1942) 标签: 序表, 设置键,

本章节介绍keys()函数的用法。

T.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],返回基础键。

相关概念:

r.key()

v.v()

T.keys(Ki,…)

描述:

定义内表的键。

语法:

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)

设置内表的键为EIDNAME

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

T.keys@i(Ki,…;n)

描述:

对序表/内表设置主键的同时创建索引。

语法:

T.keys@i(Ki,…;n)

备注:

序表/内表T设置主键Ki,...的同时创建索引。

只有@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,并创建排号索引。