Global 扫描和切片
这是一个在 IRIS 2020.1 和 Caché 2018.1.3 上工作的代码示例
不会与新版本保持同步
也不会获得 InterSystems 提供的支持服务!
大多数情况下,默认存储使用的 global 只有 1 个表示 IDKEY 的下标级别。 对于索引 global,可能有 2 个或更多下标级别。
数组、父子关系或扩展了基础数据类的持久化类 是具有更多下标级别的示例。 但所有这些 global 都非常统一。 我们还能看到与类或表无关的 global,例如 ^SPOOL、^ERRORS 或 ^%SYS 其中的结构取决于各个级别的具有特殊含义的下标。
分析这些不一致的 global 是一个挑战,而只是把它的内容导出来不一定有助于理解依赖关系。
本示例的原理就像那个古老的笑话:“如何吃一头大象?” ==>“切成片吃!”
以下是实现的功能:
通过一条 SQL 语句,您可以逐级显示任意 global 的结构。
您提供 global 名称和要显示的最大级别,即可获得相关下标、节点的 $Data、后面的子节点数量以及在该级别存储的内容(如果有的话)。
示例:**SELECT * FROM rcc\_G.scan where rcc\_G.Scan('^%SYS',1)=1**
Reference Level $D SubN Value
^%SYS 0 10 25
("CSP") 1 10
(