Question

J'ai un problème où un table (fichier) est configuré pour revenir foo colonne sur LIST table et SELECT * FROM table. Je dois connaître les autres colonnes possibles table. Je suis sûr que cela a été réalisé par la mise en @ (définition behavoir de LIST non qualifiée), et @select (behavoir définition * très SELECT) mais je ne sais pas comment obtenir la liste complète des colonnes. Comment puis-je lire le schéma de la table dans uvsh et requête pour les colonnes de la table physique?

Running LIST.ITEM sur la table me montre une liste de tous les numéros de champ et des valeurs, mais comment puis-je trouver le DISPLAY NAME et le nom de la colonne des champs numérotés?

Était-ce utile?

La solution

Une réponse précédente, j'ai reçu le SO avait mentionné LIST DICT comme un moyen d'obtenir certaines métadonnées . Ce fut, en fait, ce que je pense que je voulais. La documentation officielle utilise LIST DICT; Cependant, sur mon système, je pensais qu'il n'y avait pas LIST DICT, il y a. Il a besoin d'un argument fichier. Il était tout simplement pas une commande séparée soit (plusieurs commandes ont des espaces en eux), au lieu de (UniVerse 10.1) liste est définie comme suit:

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

Donc, en résumé, le même verbe (LIST) pour interroger les données est utilisé pour interroger le schéma, avec le même fichier de destination.

A l'origine quand je présume qu'il n'y avait pas un LIST DICT je suis allé chercher dans le fichier COV avec récupérer à l'aide LIST VOC WITH NAME MATCHING LIST... j'ai pu identifier un LIST.DICT du même nom, un paragraphe qui affiche le contenu de DICTIONARIES triés par type d'enregistrement . Ce fait exactement ce que je voulais, sauf le résultat était une liste ingérable de 400 lignes. Je ne vois pas la documentation LIST.DICT partout, et il semble que si qualificatifs record et qualificatifs de rapport ne travaille pas sur la LIST.DICT comme ils le font sur LIST. Cela était vrai et aggravé ma confusion, dans le langage UNIVERS: LIST.DICT est une phrase, une déclaration enregistrée, LIST est le verbe que je avais besoin

.

Alors maintenant à mes questions:

Toute idée sur la façon de rendre la sortie de LIST DICT gérable?

Vous pouvez utiliser le qualificatif de rapport et explicitement des colonnes d'état en utilisant la syntaxe de F# de position, ou en indiquant les noms des colonnes.

LIST DICT <file> <columns>

sur mon système, vous pouvez obtenir une liste des noms de champs et leurs noms d'affichage , par exemple, par l'émission

LIST DICT <file> NAME

Le nom vient du dictionnaire maître , qui peut être interrogé à l'aide LIST DICT DICT.DICT.

Maintenant, je peux voir les champs dans une belle (assez propre) liste, mais je n'ai pas la moindre idée de la façon d'interroger un fichier pour tous ses champs.

Autres conseils

Voici les varients de base:

LIST DICT foo NAME

SELECT @ID, NAME FROM DICT foo;

Ils vous donneront un emplacement physique qui correspond au verbe LIST-ARTICLE:

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

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

Notez que le « nom de colonne » ou @ID est affiché par défaut lors d'une liste ou SORT. ToXml peut être utile, mais il y a une foule d'autres fonctionnalités XML intégrées.

Dans l'univers chaque fichier a un fichier dictionnaire associé. Le fichier dictionnaire est fondamentalement juste un fichier de données et peut être traité exactement comme un fichier de données pour des fins diverses. Il y a 3 choses qui font un spécial fichier dictionnaire:

  1. Vous pouvez y accéder via le mot-clé « DICT » devant le nom du fichier de données.
  2. La commande va l'utiliser par défaut LIST (et les commandes associées) pour traiter le fichier de données associé.
  3. Il a une structure qui est définie par le fichier DICT.DICT, que vous devez suivre pour que le point 2 ci-dessus pour travailler.

En général, les dictionnaires sont maintenus par les programmeurs et administrateurs de base de données manuellement. Il n'y a pas de contrôle dans l'univers pour garantir que les dossiers DICT sont créés pour chaque champ dans le fichier de données associé et aucune raison que vous ne pouvez pas avoir plusieurs enregistrements DICT pour chaque champ. articles du dictionnaire sont utilisés pour contrôler la mise en forme de sortie et les conversions, il est donc normal d'avoir plusieurs éléments de DICT pour chaque champ de données.

enregistrements Dictionnaire peuvent également joindre des champs de données ensemble, effectuent des opérations sur plusieurs champs et les données d'appui d'autres fichiers. Donc, parfois, il est même pas clair ce champ de données un dossier DICT concerne en fait.

La seule façon de trouver une simple liste d'éléments du dictionnaire qui correspondent à un fichier de données est par l'inspection. Utilisez la commande LIST DICT {nom de fichier} et trouver les entrées avec le moins de manipulation de données de montant dans leurs champs de mise en forme.

Certaines déclarations plus utiles qui pourraient vous être utiles:

SORT nom DICT (Ce qui est la même chose que la liste, à l'exception est trié le résultat)

SEULEMENT SORT nom DICT (Ce qui affiche seulement le nom du dictionnaire)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top