Firebird - Recuperando o tipo, nome, tamanho e descrição dos campos de uma tabela
Dica publicada em Banco de Dados / Miscelânea
Firebird - Recuperando o tipo, nome, tamanho e descrição dos campos de uma tabela
O Firebird mantém em tabelas de sistema várias informações sobre o banco de dados e com isso podemos aproveitar essas informações para extrair metadados, que podem ser úteis na hora de criar telas e páginas dinâmicas.
A consulta abaixo retorna o tipo, nome, tamanho e a descrição dos campos da tabela "Acessos".
Saída:
A consulta abaixo retorna o tipo, nome, tamanho e a descrição dos campos da tabela "Acessos".
SELECT r.RDB$FIELD_NAME AS nome,
r.RDB$DESCRIPTION AS descricao,
f.RDB$FIELD_LENGTH AS tamanho,
CASE f.RDB$FIELD_TYPE
WHEN 261 THEN 'BLOB'
WHEN 14 THEN 'CHAR'
WHEN 40 THEN 'CSTRING'
WHEN 11 THEN 'D_FLOAT'
WHEN 27 THEN 'DOUBLE'
WHEN 10 THEN 'FLOAT'
WHEN 16 THEN 'INT64'
WHEN 8 THEN 'INTEGER'
WHEN 9 THEN 'QUAD'
WHEN 7 THEN 'SMALLINT'
WHEN 12 THEN 'DATE'
WHEN 13 THEN 'TIME'
WHEN 35 THEN 'TIMESTAMP'
WHEN 37 THEN 'VARCHAR'
ELSE 'UNKNOWN'
END AS tipo
FROM RDB$RELATION_FIELDS r
LEFT JOIN RDB$FIELDS f ON r.RDB$FIELD_SOURCE = f.RDB$FIELD_NAME
WHERE r.RDB$RELATION_NAME='ACESSOS' -- nome da tabela
ORDER BY r.RDB$FIELD_POSITION;
r.RDB$DESCRIPTION AS descricao,
f.RDB$FIELD_LENGTH AS tamanho,
CASE f.RDB$FIELD_TYPE
WHEN 261 THEN 'BLOB'
WHEN 14 THEN 'CHAR'
WHEN 40 THEN 'CSTRING'
WHEN 11 THEN 'D_FLOAT'
WHEN 27 THEN 'DOUBLE'
WHEN 10 THEN 'FLOAT'
WHEN 16 THEN 'INT64'
WHEN 8 THEN 'INTEGER'
WHEN 9 THEN 'QUAD'
WHEN 7 THEN 'SMALLINT'
WHEN 12 THEN 'DATE'
WHEN 13 THEN 'TIME'
WHEN 35 THEN 'TIMESTAMP'
WHEN 37 THEN 'VARCHAR'
ELSE 'UNKNOWN'
END AS tipo
FROM RDB$RELATION_FIELDS r
LEFT JOIN RDB$FIELDS f ON r.RDB$FIELD_SOURCE = f.RDB$FIELD_NAME
WHERE r.RDB$RELATION_NAME='ACESSOS' -- nome da tabela
ORDER BY r.RDB$FIELD_POSITION;
Saída:
NOME DESCRICAO TAMANHO TIPO ID Sequencial 4 INTEGER USUARIO Nome de usuário 30 VARCHAR TABELA Tabela do sistema 40 VARCHAR INCLUIR Operação de incluir 2 SMALLINT ALTERAR Operação de alterar 2 SMALLINT EXCLUIR Operação de excluir 2 SMALLINT VER Visualizar 2 SMALLINTAdapte a consulta para suas necessidades.
Que DEUS abençõe e fique na paz de CRISTO!!!