:: Estrutura de todas as tabelas ::

Firebird

31/10/2005

Oi galera,

Preciso fazer um gerador de relatórios no sistema, onde em um lado da tela, eu tenha um combo com todas as tabelas e, ao selecionar a tabela, apareça em baixo um listbox com todos os campos.

Existe algum método / comando para buscar a estrutura de todas as tabelas ??

Uso o FB 1.5

Valew :!:


Gustavo_pacheco

Gustavo_pacheco

Curtidas 0

Respostas

Afarias

Afarias

31/10/2005

tabelas::

select rdb$relation_name from rdb$relations
where rdb$system_flag is null or rdb$system_flag = 0 ;


campos de uma tabela::

select rdb$field_name from rdb$relation_fields
where rdb$relation_name = ´TABELA´ ;


T+


GOSTEI 0
Crmovio

Crmovio

31/10/2005

tabelas:: select rdb$relation_name from rdb$relations where rdb$system_flag is null or rdb$system_flag = 0 ; campos de uma tabela:: select rdb$field_name from rdb$relation_fields where rdb$relation_name = ´TABELA´ ; T+


muito Bom estas selects, vc poderia me explicar como eu consigo a estrutura completa do campo tipo assim:

Nome,Tipo, Tamanho,Aceita null, Se é Chave....

tem como fazer isso via SQL?

obrigado


GOSTEI 0
Helderjr

Helderjr

31/10/2005

select rdb$field_name,rdb$Type_name,rdb$field_length,rdb$null_flag,rdb$validation_source from rdb$relation_fields
where rdb$relation_name = ´TABELA´


GOSTEI 0
Crmovio

Crmovio

31/10/2005

select rdb$field_name,rdb$Type_name,rdb$field_length,rdb$null_flag,rdb$validation_source from rdb$relation_fields where rdb$relation_name = ´TABELA´


Cara eu testei esta sua SQL ela nao funcionou no FB 1.5 o campo rdb$Type_name nao existe na tabela rdb$relation_fields, sera que nao tem que relacionar com outra tabela para funcionar


GOSTEI 0
Helderjr

Helderjr

31/10/2005

Veja se assim funciona

select r.rdb$field_name, t.rdb$Type_name, f.rdb$field_length, r.rdb$null_flag, f.rdb$validation_source from rdb$relation_fields r join rdb$fields f on f.rdb$field_name = r.rdb$field_source join rdb$types t on f.rdb$field_type = t .rdb$type where (rdb$relation_name = ´TABELA´) and (t.rdb$field_name=´RDB$FIELD_TYPE´)

Ex. tirado do livro do Carlos Cantu - Firebird Essencial


GOSTEI 0
POSTAR