u2 - 如何使用 RetrieVe 或 SQL 查找 UniVerse 中的列列表?

标签 u2 universe multivalue-database pick

我遇到一个问题,(文件)设置为返回 LIST 表 上的 foo 列从表中选择*。我需要知道 table 中其他可能的列。我很确定这是通过设置 @ (不合格的 LIST 的行为定义)和 @select (* 的行为定义,非常SELECT),但我不知道如何获取完整的列列表。如何读取 uvsh 中的表架构并查询物理表列?

在表格上运行LIST.ITEM会显示所有字段编号和值的列表,但我如何找到DISPLAY NAME和列名称编号字段?

最佳答案

A previous answer I received on SO曾提到LIST DICT作为获取一些元数据的一种方式。这实际上就是我认为我想要的。官方文档使用LIST DICT;但是,在我的系统上,我认为没有 LIST DICT,但确实有。它需要一个文件参数。它根本就不是一个单独的命令(许多命令中都有空格),而是在 (UniVerse 10.1) 列表中定义为:

LIST [ DICT | USING [ DICT ] dictname ] filename [ records | FROM n ]
[ selection ] [ output.limiter ] [ sort ] [ output ] [ report.qualifiers ] [TOXML
[ELEMENTS] [WITHDTD] [XMLMAPPING mapping_file]]

总之,查询数据的相同动词 (LIST) 用于查询架构,具有相同的目标文件。

最初,当我认为没有 LIST DICT 时,我使用 RetrieVe 使用 LIST VOC WITH NAME MATCHING LIST... 搜索 VOC 文件,我能够标识一个类似名称的 LIST.DICT一个显示按记录类型排序的 DICTIONARIES 内容的 PAragraph。这正是我想要的,只是结果是一个难以管理的 400 行列表。我在任何地方都没有看到 LIST.DICT 的文档,并且似乎记录限定符报告限定符不适用于LIST.DICT 就像他们在 LIST 上所做的那样。这一切都是真的,并且加剧了我的困惑,用 UniVerse 的话说:LIST.DICT 是一个短语,一个存储的语句,LIST 是我需要的动词。

现在回到我的问题:

关于如何使 LIST DICT 的输出易于管理有什么想法吗?

您可以使用报告限定符,并通过使用位置 F# 语法或通过说明列名称来显式说明列。

LIST DICT <file> <columns>

在我的系统上,您可以通过发出以下命令来获取字段名称及其显示名称的列表

LIST DICT <file> NAME

NAME来自主词典,可以使用LIST DICT DICT.DICT查询。

现在,我可以在一个漂亮(相当干净)的列表中看到字段,但我对如何查询文件的所有字段一无所知。

关于u2 - 如何使用 RetrieVe 或 SQL 查找 UniVerse 中的列列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2052734/

相关文章:

multivalue - 如何获取有关 UniData/UniVerse 数据库的架构信息?

u2 - MATREAD 和 READ 和有什么不一样?

git - 防止在 Git 中 checkout

Unidata - 从多值字段中提取字符串计数

java - 从 Java 连接到 PickBasic

database - 宇宙数据库 | catalog命令行解析错误

database - 学习查询 UniData

java - 使用 selectMatchingAK 从备用索引获取选择列表会返回 "The RPC failed"错误

Uniobjects for Java 的 Javadoc

database - 多值字段是个好主意吗?