cs.switch(Fi,Ai:x;…)

阅读(719) 标签: 游标, 指定, 字段,

描述:

游标中附加指引字段切换动作后返回原游标。

语法:

cs.switch(Fi,Ai:x;…)

备注:

游标cs中附加计算,将Fi字段值切换为Ai的记录,返回原游标csxAi的主键或逻辑主键,匹配条件为Fi等于x;默认情况下,Fi找不到Ai可匹配的记录时显示为空。

该函数属于延迟计算函数。

参数:

cs

游标/多路游标。

Fi

cs中的字段。

Ai

序表/排列。

x

Ai的主键或逻辑主键,如果Ai设置了主键为x,则参数x可以省略。

选项:

@i

过程中找不到任何Fi对应值则删除该记录

@d

@i相反,只保留找不到的记录。

@1

cs中某条记录的Fi值在Ai中找不到,则生成一条Ai结构的记录,主键值设为x。注意是数字1

返回值:

游标

示例:

xAi的主键:

 

A

 

1

=demo.cursor("SELECT top 5 EID,DEPT,NAME FROM EMPLOYEE")

返回游标,数据内容如下:

2

=demo.query("SELECT DEPT,MANAGER FROM DEPARTMENT").keys(DEPT)

返回以DEPT为键的序表:

3

=A1.switch(DEPT,A2)

游标A1中附加计算,将DEPT的字段值切换为指引字段指向A2的记录,DEPTA2的键,所以参数x可省略,返回A1游标。

4

=A1.fetch()

读取游标A1执行A3计算后的数据:

xAi的主键或逻辑主键:

 

A

 

1

=demo.cursor("SELECT top 10 EID,DEPT,NAME FROM EMPLOYEE")

返回游标,数据内容如下:

2

=demo.query("SELECT top 6 DEPT,MANAGER FROM DEPARTMENT")

返回序表:

3

=A1.switch(DEPT,A2:DEPT)

游标A1中附加计算,将DEPT字段匹配序表A2中对应的DEPT字段值,无法匹配则显示为空,返回A1游标。

4

=A1.fetch()

读取游标A1执行A3计算后的数据:

使用@i选项,字段不匹配的记录直接删除:

 

A

 

1

=demo.cursor("SELECT top 10 EID,DEPT,NAME FROM EMPLOYEE")

返回游标,数据内容如下:

2

=demo.query("SELECT top 6 DEPT,MANAGER FROM DEPARTMENT")

返回序表:

3

=A1.switch@i(DEPT,A2:DEPT)

游标A1中附加计算,将DEPT字段匹配序表A2中对应的DEPT字段值,使用@i选项,无法匹配则删除整条记录,返回A1游标。

4

=A1.fetch()

读取游标A1执行A3计算后的数据:

使用@d选项,@i相反,只保留匹配不到的记录

 

A

 

1

=demo.cursor("SELECT top 10 EID,DEPT,NAME FROM EMPLOYEE")

返回游标,数据内容如下:

2

=demo.query("SELECT top 6 DEPT,MANAGER FROM DEPARTMENT")

返回序表:

3

=A1.switch@d(DEPT,A2:DEPT)

游标A1中附加计算,将DEPT字段匹配序表A2中对应的DEPT字段值,使用@d选项,只保留匹配不到的记录,返回A1游标。

4

=A1.fetch()

读取游标A1执行A3计算后的数据:

使用@1选项:

 

A

 

1

=demo.cursor("SELECT top 10 EID,DEPT,NAME FROM EMPLOYEE")

返回游标,数据内容如下:

2

=demo.query("SELECT top 6 DEPT,MANAGER FROM DEPARTMENT")

返回序表:

3

=A1.switch@1(DEPT,A2:DEPT)

游标A1中附加计算,将DEPT字段匹配序表A2中对应的DEPT字段值,使用@1选项,匹配不到时则生成一条A2结构的记录,返回A1游标。

4

=A1.fetch()

读取游标A1执行A3计算后的数据:

 

相关概念:

P.switch()