La propiedad SQL data code identifica el tipo de datos SQL que debe asociarse con la variable de lenguaje principal EGL. El sistema de gestión de bases de datos utiliza el código de datos durante la declaración, la validación o la ejecución del programa generado.
Puede que desee modificar el código de datos SQL para una variable de lenguaje principal de los tipos primitivos CHAR, DBCHAR, HEX o UNICODE. Para una variable de lenguaje principal de uno de los demás tipos primitivos, sin embargo, los códigos de datos SQL son fijos.
Si EGL ha recuperado una definición de columna del sistema de gestión de bases de datos, no modifique el código de datos SQL recuperado, si existe.
Para indicar que una columna de tabla es de longitud variable o de longitud fija, establezca el código de datos SQL de la variable de lenguaje principal correspondiente en el valor adecuado, según se muestra en la tabla siguiente.
Tipo primitivo EGL | Tipo de datos SQL | Variable o fija | Código de datos SQL |
---|---|---|---|
CHAR | CHAR (valor por omisión) | Fija | 453 |
VARCHAR, longitud < 255 | Variable | 449 | |
VARCHAR, longitud > 254 | Variable | 457 | |
DBCHAR, UNICODE | GRAPHIC (valor por omisión) | Fija | 469 |
VARGRAPHIC, longitud < 128 | Variable | 465 | |
VARGRAPHIC, longitud > 127 | Variable | 473 |
Las variables de lenguaje principal EGL de tipo HEX dan soporte al acceso a cualquier columna SQL cuyo tipo de datos no corresponda a un tipo primitivo EGL.
Si se leen datos de carácter de una columna de tabla SQL en una variable de lenguaje principal más corta, el contenido se trunca por la derecha. Para comprobar el truncamiento, utilice la palabra reservada trunc de la sentencia EGL if.
Si se leen datos numéricos de una columna de tabla SQL en una variable de lenguaje principal más corta, los ceros iniciales se truncan por la izquierda. Si el número sigue sin caber en la variable de lenguaje principal, se suprimen por la derecha partes fraccionarias del número (en decimales), sin indicación de error. Si el número sigue sin caber, se devuelve un código SQL negativo para indicar una condición de desbordamiento.
La tabla siguiente muestra las características de las variables de lenguaje principal EGL que se asignan cuando la función de recuperación del editor EGL extrae información de un sistema de gestión de bases de datos.
Tipo de datos SQL | Características de la variable de lenguaje principal EGL | Código de datos SQL (SQLTYPE) | ||
---|---|---|---|---|
Tipo primitivo | Longitud | Número de bytes | ||
BIGINT | HEX | 16 | 8 | 493 |
CHAR | CHAR | 1–32767 | 1–32767 | 453 |
DATE | CHAR | 10 | 10 | 453 |
DECIMAL | DECIMAL | 1-18 | 1–10 | 485 |
DOUBLE | HEX | 16 | 8 | 481 |
FLOAT | HEX | 16 | 8 | 481 |
GRAPHIC | DBCHAR | 1–16383 | 2–32766 | 469 |
INTEGER | BIN | 9 | 4 | 497 |
LONG VARBINARY | HEX | 65534 | 32767 | 481 |
LONG VARCHAR | CHAR | >4000 | >4000 | 457 |
LONG VARGRAPHIC | DBCHAR | >2000 | >4000 | 473 |
NUMERIC | DECIMAL | 1-18 | 1–10 | 485 |
REAL | HEX | 8 | 4 | 481 |
SMALLINT | BIN | 4 | 2 | 501 |
TIME | CHAR | 8 | 8 | 453 |
TIMESTAMP | CHAR | 26 | 26 | 453 |
VARBINARY | HEX | 2–65534 | 1–32767 | 481 |
VARCHAR | CHAR | ≤4000 | ≤4000 | 449 |
VARGRAPHIC | DBCHAR | ≤2000 | ≤4000 | 465 |
La definición de una columna de tabla SQL de tipo VARCHAR o VARGRAPHIC incluye una longitud máxima, y el mandato de recuperación utiliza ese máximo para asignar una longitud a la variable de lenguaje principal EGL. Sin embargo, la definición de una columna de tabla SQL de tipo LONG VARCHAR o VARGRAPHIC no incluye una longitud máxima, y el mandato de recuperación utiliza el máximo del tipo de datos SQL para asignar una longitud.
Asegúrese de que el formato utilizado para el formato Gregoriano largo por omisión del sistema EGL es el mismo que el formato de fecha especificado para el gestor de bases de datos SQL. Para obtener detalles acerca de cómo se establece el formato EGL, consulte el apartado correspondiente a VGVar.currentFormattedGregorianDate.
Los dos formatos deben coincidir a fin de que las fechas suministradas por la variable de sistema VGVar.currentFormattedGregorianDate estén en el formato esperado por el gestor de bases de datos SQL.
Conceptos relacionados
Soporte de SQL
Consulta relacionada
Propiedades de campo SQL
currentFormattedGregorianDate