2010-01-12 87 views
2

我有一个地方table(文件)被设置为在LIST tableSELECT * FROM table返回列foo的问题。我需要知道table中的其他可能列。我非常确定这是通过设置@(行为定义为不合格的LIST)和@select(行为定义为*,非常具有SELECT),但我不知道如何获取列的完整列表。我如何读取uvsh中的表模式并查询物理表列?如何使用Retrieve或SQL查找UniVerse中的列列表?

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

回答

2

A previous answer I received on SO已经提到LIST DICT作为一种获得的一些元数据。这实际上是我想我想要的。官方文件使用LIST DICT;然而,在我的系统上,我认为没有LIST DICT,有。它需要一个文件参数。这根本不是一个单独的命令或者(许多命令中都有空格),而不是(译注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我经历了与VOC文件搜索使用LIST VOC WITH NAME MATCHING LIST...我能够识别检索类似名称的LIST.DICT显示的记录类型分类字典的内容的段落。这正是我想要的,除了结果是400行的难以管理的列表。我没有在任何地方看到LIST.DICT的文档,而且看起来好像记录限定符报告限定符LIST.DICT上不起作用,就像他们在LIST上做的那样。这一切都是真的,并加剧我的困惑,宇宙中的说法:LIST.DICT是一个短语,存储声明,LIST是我所需要的动词。

所以现在回到我的问题:

如何使LIST DICT管理输出的任何想法?

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

LIST DICT <file> <columns> 

我的系统上,你可以通过发出

LIST DICT <file> NAME 

的名字来自主字典,它可以查询得到的实例字段名和他们显示名称的上市使用LIST DICT DICT.DICT。现在

,我可以看到一个漂亮的(相当干净)列表中的字段,但我一点也不懂如何查询所有字段的文件丝毫的想法。

2

以下是一些基本的一些变体:

LIST DICT foo NAME 

SELECT @ID, NAME FROM DICT foo; 

这些会给你对应列表项动词物理位置:

SORT DICT foo WITH TYPE EQ "D" BY LOC LOC NAME 

SORT DICT foo WITH TYPE EQ "D" BY LOC LOC NAME TOXML 

注意“列名”或@ID在LIST或SORT期间默认显示。 TOXML可能很有用,但其中还有许多其他XML功能。

1

在Universe中,每个文件都有一个关联的字典文件。字典文件基本上只是一个数据文件,可以完全像数据文件一样处理,用于各种目的。有3个东西,使字典文件特别:

  1. 你可以通过“翻译字典”关键字的数据文件名前面访问它。
  2. LIST(和相关命令)命令将默认使用它来处理关联的数据文件。
  3. 它有一个由DICT.DICT文件定义的结构,您需要按照上述第2项才能使用该结构。

通常,这些字典是由程序员和数据库管理员手动维护的。 Universe中没有控制权来保证为相关数据文件中的每个字段创建DICT记录,也没有理由说每个字段不能有多个DICT记录。词典项目用于控制输出格式和转换,因此为每个数据字段设置多个DICT项目是正常的。

词典记录还可以将数据字段连接在一起,在多个字段上执行操作并从其他文件中获取数据。所以有时甚至不清楚DICT记录实际涉及的数据字段。

想出与数据文件对应的字典项目的简单列表的唯一方法是通过检查。使用LIST DICT {filename}命令并在其格式化字段中查找对其进行最少量数据操作的条目。

0

一些有用的报表,可能会对你有所帮助:

SORT DICT文件名 (这是相同的列表中,除了结果排序)

只分选出DICT文件名 (此只显示词典名称)