keys()

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

本章节介绍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(Ki,…;n)

描述:

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

语法:

T.keys(Ki,…;n) 

备注:

序表/内表T设置主键Ki,...的同时创建索引。若需创建哈希索引时,@i选项或者n参数至少有一个存在;需创建排号索引时,应省略参数n@s选项和n参数同时存在时,忽略@s选项。

参数:

Ki

键名,可以有一个或多个,参数Ki,…为空时删掉内表所有键

T

序表/内表

n

哈希表的大小,大于1的整数,缺省为表长

选项:

@i

创建哈希索引

@s

为排号键类型的主键创建排号索引

@m

并行建立

@t

有时间键

@n

序号键

返回值:

序表/内表

示例:

 

A

 

1

=demo.query("select EID,NAME,DEPT,SALARY from EMPLOYEE")

 

2

=A1.keys(EID,DEPT;1)

设置A1的主键为EID,DEPT,并且创建哈希索引,哈希表大小为1

3

=A1.keys@i(EID,DEPT)

A2

4

=A1.keys@i(EID,DEPT;1)

A2

5

=A1.keys@is(EID)

设置A1的主键为EID,并创建排号索引

6

=A1.keys@is(EID;1)

设置A1的主键为EID,此时忽略选项@s,创建哈希索引,哈希表大小为1

7

=A1.keys@im(EID,DEPT;1)

并行建立索引

8

=demo.cursor("select * from employee").memory()

返回内表

9

=A8.keys@t(HIREDATE)

设置时间键为HIREDATE,并创建排号索引

10

=file("STUDENTS.txt").import@t().keys(SID)

给序表设置主键为SID

11

=file("SCORES.txt").import@t().keys@in(CLASS,NAME)

给序表设置主键为CLASSNAME,并根据序号键建立索引

12

=A10.switch(xh,A11)

将序号键切换成A11表的指引记录