SELECCIONAR CAMPOS.RDB$FIELD_NAME DISTINTO COMO COLUMN_NAME,
CASO
CUANDO DADOSCAMPO.RDB$FIELD_PRECISION > 0 ENTONCES “NUMÉRICO”
CUANDO TIPOS.RDB$TYPE_NAME = “DE LARGO” ENTONCES “NÚMERO ENTERO”
CUANDO TIPOS.RDB$TYPE_NAME = ENTONCES “SMALLINT “CORTOS””
CUANDO TIPOS.RDB$TYPE_NAME = “INT64” ENTONCES “NUMÉRICO”
CUANDO TIPOS.RDB$TYPE_NAME = ENTONCES “VARCHAR “DIVERSOS””
CUANDO TIPOS.RDB$TYPE_NAME = “TEXTO” ENTONCES “SOCARRAN”
CUANDO TIPOS.RDB$TYPE_NAME = “BLOB” ENTONCES “BLOB SUB_TYPE”
TIPOS.RDB$TYPE_NAME OTRO
EXTREMO COMO FIELD_TYPE,
CASO
CUANDO DADOSCAMPO.RDB$FIELD_TYPE EN (16.8) ENTONCES DADOSCAMPO.RDB$FIELD_PRECISION
DADOSCAMPO.RDB$FIELD_LENGTH OTRO
EXTREMO COMO DATA_LENGTH, DADOSCAMPO.RDB$FIELD_SCALE COMO DATA_SCALE,
CASO CAMPOS.RDB$NULL_FLAG CUANDO 1 ENTONCES EXTREMO OTRO DE “Y” DE “N” COMO NULLABLE
DE
RDB$RELATIONS TABELAS, CAMPOS DE RDB$RELATION_FIELDS, RDB$FIELDS
DADOSCAMPO, RDB$TYPES TIPOS
DONDE TABELAS.RDB$RELATION_NAME = “PESSOAS”
Y TIPOS.RDB$FIELD_NAME = “RDB$FIELD_TYPE”
Y TABELAS.RDB$RELATION_NAME = CAMPOS.RDB$RELATION_NAME
Y CAMPOS.RDB$FIELD_SOURCE = DADOSCAMPO.RDB$FIELD_NAME
Y DADOSCAMPO.RDB$FIELD_TYPE = TIPOS.RDB$TYPE
ORDEN POR CAMPOS.RDB$FIELD_POSITION
|