我需要在 Caché 中获取命名空间、数据库和表的列表,以便我可以遍历每个并查询各种内容(例如行数)。
我见过this ,但它只列出 %SYS 命名空间内的数据库。
我知道我可以使用 LIST^%NSP
在终端中获取命名空间列表,但它有我不想解析的额外文本(“这是定义的命名空间:”)。另外,如果可能的话,我真的很想坚持使用 SQL 查询。
谢谢
最佳答案
要列出命名空间,您需要 List
在 %SYS.Namespace
中查询包裹。
要检索有关特定命名空间内容的数据,您需要在该命名空间中。从 COS,您可以使用 ZNSPACE
.然后,您可以查询 %Dictionary.ClassDefinition
,作为链接。与您的陈述相反,这不仅查询 %SYS
类,但是当前命名空间中可用的所有类,这将(默认情况下)包括所有以 %
开头的类。 .
如果你想避免这些类,你可以简单地调用
SELECT Name FROM %Dictionary.ClassDefinition WHERE NOT Name %STARTSWITH '%'
关于sql - 如何查询 Intersystems Caché 以获取命名空间、数据库和表的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20111040/