Une sorte de suivre jusqu'à my self-answered question about finding the column names.UniVerse RetrieVe comment interroger un fichier pour toutes les valeurs de ses colonnes?
Dans UniVerse vous ne pouvez pas interroger un fichier pour toutes ses colonnes à moins que le dans le dictionnaire de votre fichier phrase @
est défini sur toutes les colonnes de tables. Si ce n'est pas le cas, comment interrogez-vous une table pour toutes les valeurs de ses colonnes?
Je peux obtenir la liste total de la colonne (nom colonne & nom d'affichage) à l'aide:
LIST DICT file NAME
Ceci renvoie une liste de toutes les colonnes et leurs noms d'affichage. Comment puis-je interroger la table pour toutes les colonnes qu'elle a?
LIST file
Est-ce que la requête pour LIST file @id
(@id est la seule chose @).
MISE À JOUR Je trouve a blog -- a living breathing person who id using a version of UniVerse older than mine!! où il se plaint de la même chose, mais dit qu'il n'y a pas de solution de mise à jour timide @
avec toutes les colonnes, s'il vous plaît dieu quelqu'un lui prouver (Dan Watts) mal.
Que faire si vous avez une table de 200 colonne et que vous voulez SELECT * retourner toutes 200 colonnes? Désolé, mais vous aurez pour entrer tous les 200 noms de colonne dans cet enregistrement "@" . Et si vous ajoutez, supprimez ou renommer une colonne, vous devrez n'oubliez pas d'éditer cet enregistrement "@". I ressentez votre douleur! Cette approche lourde remonte au pilote ODBC d'UniVerse, et je suppose qu'ils ne peuvent pas le changer maintenant sans casser beaucoup des applications. Vous pouvez trouver les détails décrits dans IBM dans le Guide UniVerse ODBC.
Droit, donc la solution à ce problème (obtenir 'LIST.ITEM' avec des noms de colonnes ou des noms d'affichage parsibles, ou faire une requête avec les colonnes par nom listé dans 'LIST DICT') est d'utiliser UniBASIC? C'est bon, c'est la prochaine chose que j'allais essayer. Je suppose que je vais avoir à lire le prochain monticule de texte IBM. –
Vous pouvez très rapidement et facilement écrire votre propre routine LIST. Ecrire un programme appelé LISTALL. Il prendrait un argument tel que le nom de fichier et lirait la dict pour le dossier, obtiendrait tous les champs dans ce dossier et construirait dynamiquement la commande LIST correcte et l'exécuterait ensuite. –