SELECIONAR CAMPOS.RDB$FIELD_NAME DISTINTO COMO COLUMN_NAME,
CASO
QUANDO DADOSCAMPO.RDB$FIELD_PRECISION > 0 ENTÃO “NUMÉRICO”
QUANDO TIPOS.RDB$TYPE_NAME = “POR MUITO TEMPO” ENTÃO “INTEIRO”
QUANDO TIPOS.RDB$TYPE_NAME = ENTÃO “SMALLINT “CURTOS””
QUANDO TIPOS.RDB$TYPE_NAME = “INT64” ENTÃO “NUMÉRICO”
QUANDO TIPOS.RDB$TYPE_NAME = ENTÃO “VARCHAR “DE VARIAÇÃO””
QUANDO TIPOS.RDB$TYPE_NAME = “TEXTO” ENTÃO “CARBONIZAREM”
QUANDO TIPOS.RDB$TYPE_NAME = “GOTA SUB_TYPE” DA “GOTA” ENTÃO
TIPOS.RDB$TYPE_NAME OUTRO
EXTREMIDADE COMO FIELD_TYPE,
CASO
QUANDO DADOSCAMPO.RDB$FIELD_TYPE (16.8) ENTÃO EM DADOSCAMPO.RDB$FIELD_PRECISION
DADOSCAMPO.RDB$FIELD_LENGTH OUTRO
EXTREMIDADE COMO DATA_LENGTH, DADOSCAMPO.RDB$FIELD_SCALE COMO DATA_SCALE,
CASO CAMPOS.RDB$NULL_FLAG QUANDO 1 ENTÃO EXTREMIDADE OUTRA DE “Y” DE “N” COMO NULLABLE
DE
RDB$RELATIONS TABELAS, RDB$RELATION_FIELDS CAMPOS, RDB$FIELDS
DADOSCAMPO, RDB$TYPES TIPOS
ONDE TABELAS.RDB$RELATION_NAME = “PESSOAS”
E TIPOS.RDB$FIELD_NAME = “RDB$FIELD_TYPE”
E TABELAS.RDB$RELATION_NAME = CAMPOS.RDB$RELATION_NAME
E CAMPOS.RDB$FIELD_SOURCE = DADOSCAMPO.RDB$FIELD_NAME
E DADOSCAMPO.RDB$FIELD_TYPE = TIPOS.RDB$TYPE
ORDEM POR CAMPOS.RDB$FIELD_POSITION
|