Pular para o conteúdo

Firebird - Recuperando o tipo, nome, tamanho e descrição dos campos de uma tabela

Dica publicada em Banco de Dados / Miscelânea
Evaldo Avelar Marques evaldoavelar
Hits: 28.954 Categoria: Banco de Dados Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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".

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;
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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		SMALLINT

Adapte a consulta para suas necessidades.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

HD USB externo com filesystem JFS

Como medir a informação?

Lazarus: Resolvendo o problema da jpegforlazarus no Linux

Mouse Wireless Microsoft com o Scroll muito rápido no Ubuntu [Resolvido]

O poder do root, esse mega super usuário

Lembre-se: você tem espaço gratuito para armazenar arquivos na rede!

Problemas com acentuação no PHP e MySQL

Problemas ao iniciar serviço do MongoDB [RESOLVIDO]

Visão geral do LDAP

Gerador de relatórios Agata Report

#1 Comentário enviado por lim em 07/02/2013 - 09:59h
Ótima dica amigo, funciona perfeitamente.
Que DEUS abençõe e fique na paz de CRISTO!!!

Contribuir com comentário

Entre na sua conta para comentar.