2

(ファイル) が と の列をtable返すように設定されているという問題があります。の他の可能な列を知る必要があります。これは、( unqualifiedの動作定義) と( * の動作定義 with very )を設定することで達成されたと確信していますが、列の完全なリストを取得する方法がわかりません。テーブル スキーマを読み込んで物理テーブル列をクエリするにはどうすればよいですか?fooLIST tableSELECT * FROM tabletable@LIST@selectSELECTuvsh

テーブルで実行すると、すべてのフィールド番号と値のリストが表示されますが、番号付きフィールドの列名と列名をLIST.ITEM見つけるにはどうすればよいですか?DISPLAY NAME

4

4 に答える 4

2

SO で受け取った以前の回答では、メタデータLIST DICTを取得する方法として言及していました。これは実際に私が望んでいたと思うものでした。公式ドキュメントでは;を使用しています。ただし、私のシステムでは、ないと思っていましたが、あります。ファイル引数が必要です。それは単純に個別のコマンドではなく (多くのコマンドにはスペースが含まれています)、代わりに (UniVerse 10.1) リストは次のように定義されています。LIST DICTLIST DICT

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

要約すると、LISTデータを照会する同じ動詞 ( ) を使用して、同じ宛先ファイルでスキーマを照会します。

もともと、VOC ファイルが存在しないと推測していたときにLIST DICT、RetrieVe を使用して VOC ファイルを検索したところ、レコード タイプでソートされた DICTIONARIES の内容を表示する、同様の名前の PAragraphLIST VOC WITH NAME MATCHING LIST...特定できました。これは、結果が400行の管理不能なリストであることを除けば、まさに私が望んでいたことでした。どこにもドキュメントが表示されません。レコード修飾子レポート修飾子は、のように機能しないようです。これはすべて真実であり、UniVerse の用語で言えば、私の混乱を悪化させました: is a phrase, a stored statement, is the 動詞 私が必要としていた.LIST.DICTLIST.DICTLIST.DICTLISTLIST.DICTLIST

それでは、私の質問に戻ります。

出力をLIST DICT管理しやすくする方法について何か考えはありますか?

レポート修飾子F#を使用して、定位置構文を使用するか、列の名前を指定することにより、列を明示的に指定できます。

LIST DICT <file> <columns>

私のシステムでは、たとえば次のように発行して、フィールド名とその表示名のリストを取得できます

LIST DICT <file> NAME

NAME はマスター ディクショナリから取得され、 を使用して照会できますLIST DICT DICT.DICT

これで、きれいな (かなりきれいな) リストでフィールドを確認できますが、ファイルのすべてのフィールドを照会する方法がまったくわかりません。

于 2010-01-14T20:44:39.587 に答える
2

基本的なバリエーションは次のとおりです。

LIST DICT foo NAME

SELECT @ID, NAME FROM DICT foo;

これらは、LIST-ITEM 動詞に対応する物理的な場所を示します。

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 機能が組み込まれています。

于 2010-01-21T13:52:02.257 に答える
1

ユニバースでは、すべてのファイルに辞書ファイルが関連付けられています。辞書ファイルは基本的に単なるデータ ファイルであり、さまざまな目的でデータ ファイルとまったく同じように扱うことができます。辞書ファイルを特別なものにする 3 つの点があります。

  1. データファイル名の前にある「DICT」キーワードを介してアクセスします。
  2. LIST (および関連コマンド) コマンドは、関連付けられたデータ ファイルを処理するためにデフォルトで使用します。
  3. 上記の項目 2 が機能するためには、DICT.DICT ファイルで定義された構造が必要です。

通常、ディクショナリは、プログラマとデータベース管理者によって手動で維持されます。ユニバースには、関連付けられたデータ ファイルのすべてのフィールドに対して DICT レコードが作成されることを保証するコントロールはなく、各フィールドに多くの DICT レコードを作成できない理由もありません。ディクショナリ項目は、出力の書式設定と変換を制御するために使用されるため、各データ フィールドに複数の DICT 項目があるのが普通です。

ディクショナリ レコードは、データ フィールドを結合したり、複数のフィールドに対して操作を実行したり、他のファイルからデータを取得したりすることもできます。そのため、DICT レコードが実際にどのデータ フィールドに関連しているかさえ明確でない場合があります。

データ ファイルに対応する辞書項目の簡単なリストを作成する唯一の方法は、調査することです。LIST DICT {filename} コマンドを使用して、書式設定フィールドでデータ操作の量が最も少ないエントリを見つけます。

于 2010-01-27T04:39:59.987 に答える
0

あなたに役立つかもしれないいくつかのより有用なステートメント:

SORT DICT ファイル名 (結果がソートされることを除いて、これは list と同じです)

SORT ONLY DICT ファイル名 (これは辞書名のみを表示します)

于 2011-04-13T12:58:46.800 に答える