SELEZIONARE CAMPOS.RDB$FIELD_NAME DISTINTO COME COLUMN_NAME,
CASO
QUANDO DADOSCAMPO.RDB$FIELD_PRECISION > 0 ALLORA “NUMERICO„
QUANDO TIPOS.RDB$TYPE_NAME = “LUNGAMENTE„ ALLORA “NUMERO INTERO„
QUANDO TIPOS.RDB$TYPE_NAME = “BICCHIERINO„ ALLORA “SMALLINT„
QUANDO TIPOS.RDB$TYPE_NAME = “INT64„ ALLORA “NUMERICO„
QUANDO TIPOS.RDB$TYPE_NAME = “VARIANTI„ ALLORA “VARCHAR„
QUANDO TIPOS.RDB$TYPE_NAME = “TESTO„ ALLORA “SI CARBONIZZANO„
QUANDO TIPOS.RDB$TYPE_NAME = “CHIAZZA SUB_TYPE„ “DELLA CHIAZZA„ ALLORA
TIPOS.RDB$TYPE_NAME ALTRO
ESTREMITÀ COME FIELD_TYPE,
CASO
QUANDO DADOSCAMPO.RDB$FIELD_TYPE (16.8) ALLORA IN DADOSCAMPO.RDB$FIELD_PRECISION
DADOSCAMPO.RDB$FIELD_LENGTH ALTRO
ESTREMITÀ COME DATA_LENGTH, DADOSCAMPO.RDB$FIELD_SCALE COME DATA_SCALE,
CASO CAMPOS.RDB$NULL_FLAG QUANDO 1 ALLORA ESTREMITÀ ALTRA “DI Y„ “DI N„ COME NULLABLE
DA
RDB$RELATIONS TABELAS, RDB$RELATION_FIELDS CAMPOS, RDB$FIELDS
DADOSCAMPO, RDB$TYPES TIPOS
DOVE 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
ORDINE DA CAMPOS.RDB$FIELD_POSITION
|