本章节介绍nodes()函数的用法。
描述:
递归查询在外键中引用到指定记录的数据
语法:
P.nodes(F,r,n)
备注:
在排列P中,递归查找所有在外键F中引用到记录r的数据行。记录r可以看作是根节点,查询结果记录可以统称为r的子节点,当查询结果记录下层不再有记录,则可称为叶子节点,反之查询结果记录下层仍有记录则称为枝干节点。
若r记录在排列P中不存在,结果返回NULL。参数n表示最大递归深度,缺省为1000。
参数:
P |
排列 |
F |
字段名称 |
r |
记录 |
n |
数值 |
@d |
返回叶子层的节点 |
@p |
返回子节点及子节点到根节点的引用层次 |
返回值:
序列
示例:
|
A |
|
1 |
=file("D://emp.txt").import@t().keys(empid) |
|
2 |
>A1.switch(mgrid,A1:empid) |
|
3 |
=A1.nodes(mgrid,A1.select@1(name=="Diana"),5) |
根据mgrid外键引用,查询Diana的所有下属的记录,包括下属的下属的记录 |
4 |
=A1.nodes@d(mgrid,A1.select@1(name=="Diana"),5) |
查询Diana的所有不是领导的下属的记录 |
5 |
=A1.nodes@p(mgrid,A1.select@1(name=="Diana"),5) |
列出Diana的下属的关系。由此看出Diana是empid=7的领导,而empid=7为empid=14的上司 |