sql - 如何查询 Intersystems Caché 以获取命名空间、数据库和表的列表?

标签 sql intersystems-cache

我需要在 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/

相关文章:

MYSQL如何显示最近两天 HitTest 门的项目

java - 系统间缓存解决方案的持续集成

intersystems-cache - Intersystems caché - 以编程方式创建新类

sql - 匹配具有相同值 SQL 的多个列

mysql - SQL 上的 MIN COUNT 错误代码 1248

sql - Case 表达式,如何从 Then 子句中的列中获取值

mysql - SQL:防止项目组合被插入两次

javascript - 缓存服务器页面 (CSP) 中的缓存变量作用域

sql - 检索自上次记录以来的秒数