Pregunta

Tengo un problema por el que un table (archivo) está configurado para devolver foo columna de LIST table y SELECT * FROM table. Necesito saber los otros posibles columnas en table. Estoy bastante seguro de que esto se logra mediante el establecimiento @ (definición de behavoir LIST no calificado), y @select (definición de behavoir * con muy SELECT), pero no sé cómo obtener la lista completa de columnas. ¿Cómo se lee el esquema de tabla en uvsh y consulta para las columnas de la tabla física?

Running LIST.ITEM sobre la mesa me muestra una lista de todos los números de campo y valores, pero ¿Cómo puedo encontrar el nombre de la columna y DISPLAY NAME de los campos numerados?

¿Fue útil?

Solución

Una respuesta anterior que recibí el SO había mencionado LIST DICT como una manera de conseguir algunos metadatos . Este fue, de hecho, lo que creo que quería. La documentación oficial utiliza LIST DICT; Sin embargo, en mi sistema pensé que no era LIST DICT, la hay. Se requiere un argumento de archivo. Simplemente no era un comando separado o bien (muchos de los comandos tienen espacios en ellos), en lugar de la lista (UniVerse 10.1) se define como:

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

Así que en resumen, el mismo verbo (LIST) para consultar datos se utiliza para consultar el esquema, con el mismo archivo de destino.

Al principio, cuando supuse que no había un LIST DICT que fui a buscar a través del archivo de COV con Recuperar utilizando LIST VOC WITH NAME MATCHING LIST... pude identificar un LIST.DICT del mismo nombre, un párrafo que muestra el contenido de diccionarios ordenados por tipo de registro . Esto hizo exactamente lo que quería, excepto el resultado fue una lista inmanejable de 400 filas. No veo la documentación de LIST.DICT en cualquier lugar, y parece como si registro de los calificadores y calificadores informe no trabajo en la LIST.DICT como lo hacen en LIST. Todo esto era cierto y agrava mi confusión, en el universo de la jerga: LIST.DICT es una frase, una declaración almacenada, LIST es el verbo que necesitaba

.

Así que ahora de nuevo a mis preguntas:

¿Alguna idea sobre cómo hacer que la salida de LIST DICT manejable?

Puede utilizar el calificador informe y explícitamente las columnas de estado mediante el uso de la sintaxis F# posicional, o indicando los nombres de las columnas.

LIST DICT <file> <columns>

en mi sistema se puede obtener una lista de los nombres de los campos y sus nombres de visualización , por ejemplo, mediante la emisión

LIST DICT <file> NAME

El nombre proviene de la diccionario principal , que se puede consultar utilizando LIST DICT DICT.DICT.

Ahora, puedo ver los campos de una lista agradable (bastante limpio), pero no tienen la más mínima idea de cómo consultar un archivo para todos sus campos.

Otros consejos

Estos son los varients básicos:

LIST DICT foo NAME

SELECT @ID, NAME FROM DICT foo;

Estos le darán un lugar físico que corresponde al verbo 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

Tenga en cuenta que el "nombre de la columna" o @ID se muestra de forma predeterminada durante una lista o ORDENAR. ToXML puede ser útil, pero hay una serie de otras características XML incorporadas.

En Universo cada archivo tiene un archivo de diccionario asociado. El archivo de diccionario es básicamente un archivo de datos y pueden ser tratados exactamente igual que un archivo de datos para una variedad de propósitos. Hay 3 cosas que hacen que un archivo de diccionario especial:

  1. Se accede a ella a través de la palabra clave "DICT" delante del nombre de archivo de datos.
  2. La lista (y comandos relacionados) comando utilizará por defecto para procesar el archivo de datos asociado.
  3. Tiene una estructura que se define por el archivo DICT.DICT, que hay que seguir para que el punto 2 anterior a trabajar.

En general, los diccionarios son mantenidos por los programadores y administradores de bases de datos de forma manual. No hay controles en Universo para garantizar que los registros DICT se crean para cada campo en el archivo de datos asociado y no hay razón por la que no se puede tener muchos registros DICT para cada campo. elementos del diccionario se utilizan para controlar el formato de salida y las conversiones, por lo que es normal tener varios artículos DICT para cada campo de datos.

Los registros del diccionario también pueden unirse a los campos de datos en conjunto, realizan operaciones en múltiples campos y datos de agarre de otros archivos. Así que a veces ni siquiera es claro qué campo de datos de un registro DICT en realidad se refiere a.

La única manera de llegar a una simple lista de elementos del diccionario que se corresponden con un archivo de datos se realiza mediante inspección. Utilice el comando LIST DICT {nombre del archivo} y encontrar las entradas con la manipulación menor cantidad de datos en ellos en sus campos de formato.

Algunas declaraciones más útiles que podrían ser útiles para usted:

ORDENAR nombre DICT (Esta es la misma que la lista, excepto el resultado está ordenada)

ORDENAR SOLO nombre DICT (Esto sólo se muestra el nombre del diccionario)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top