Como listar as tabelas do meu banco Firebird
22/09/2004
0
Um cliente me pediu para disponibilizar num formulario uma consulta, onde pudesse selecionar todas as tabelas do meu banco FIREBIRD.
Dependendo da tabela selecionada, mostraria os campos correspondentes e as opcoes de busca.
Algum amigo tem idéia de como posso fazer?
Grato
Rbfonseca
Post mais votado
22/09/2004
select rdb$relation_name from rdb$relations
where rdb$system_flag = 0;
dai é só montar as consultas com a tabela selecionada.
T+
Afarias
Mais Posts
19/07/2019
Alvaro Vieira
O comando correto para listar apenas as tabelas de usuário (sem as views por ex.) é o seguinte:
Select rdb$relation_name
from rdb$relations
where ((rdb$system_flag=0) or (rdb$system_flag is null)) and
(rdb$view_source is null)
order by rdb$relation_name
t+
22/07/2019
Emerson Nascimento
SELECT rdb$relation_name FROM rdb$relations WHERE rdb$system_flag = 0 -- somente objetos de usuário and rdb$relation_type = 0 -- somente tabelas
0 - tabelas
1 - views
2 - tabela externa
3 - tabela de monitoramento
4 - nível de conexão GTT
5 - nível de transação GTT
para listar os campos:
SELECT r.rdb$relation_name, rf.rdb$field_name, rf.rdb$field_position FROM rdb$relations r INNER JOIN rdb$relation_fields rf on rf.rdb$relation_name = r.rdb$relation_name WHERE r.rdb$system_flag = 0 and r.rdb$relation_type = 0 AND r.rdb$relation_name = 'tabela_da_qual_deseja_listar_os_campos' ORDER BY rf.rdb$relation_name, rf.rdb$field_position
09/10/2019
Dirceu Morais
Qual o comando que eu utilizo para me dar a quantidade de:
Domains
Tables
Views
Procedures
Trigger
Generations
igual aparece no IBExpert.
As Tables parece ser mais fácil.
10/10/2019
Emerson Nascimento
select * from rdb$fields where rdb$system_flag = 0 and not (rdb$field_name like 'RDB$%') -- somente objetos de usuário select count(*) total from rdb$fields where rdb$system_flag = 0 and not (rdb$field_name like 'RDB$%') -- somente objetos de usuário
Tables
select * from rdb$relations where rdb$system_flag = 0 and rdb$relation_type = 0 -- somente objetos de usuário / somente tabelas select count(*) total from rdb$relations where rdb$system_flag = 0 and rdb$relation_type = 0 -- somente objetos de usuário / somente tabelas
Views
select * from rdb$relations where rdb$system_flag = 0 and rdb$relation_type = 1 -- somente objetos de usuário / somente views select count(*) total from rdb$relations where rdb$system_flag = 0 and rdb$relation_type = 1 -- somente objetos de usuário / somente views
Procedures
select * from rdb$procedures where rdb$system_flag = 0 -- somente objetos de usuário select count(*) total from rdb$procedures where rdb$system_flag = 0 -- somente objetos de usuário
Triggers
select * from rdb$triggers where rdb$system_flag = 0 -- somente objetos de usuário select count(*) total from rdb$triggers where rdb$system_flag = 0 -- somente objetos de usuário
Generators
select * from rdb$generators where rdb$system_flag = 0 -- somente objetos de usuário select count(*) total from rdb$generators where rdb$system_flag = 0 -- somente objetos de usuário
11/10/2019
Dirceu Morais
select * from rdb$fields where rdb$system_flag = 0 and not (rdb$field_name like 'RDB$%') -- somente objetos de usuário select count(*) total from rdb$fields where rdb$system_flag = 0 and not (rdb$field_name like 'RDB$%') -- somente objetos de usuário
Tables
select * from rdb$relations where rdb$system_flag = 0 and rdb$relation_type = 0 -- somente objetos de usuário / somente tabelas select count(*) total from rdb$relations where rdb$system_flag = 0 and rdb$relation_type = 0 -- somente objetos de usuário / somente tabelas
Views
select * from rdb$relations where rdb$system_flag = 0 and rdb$relation_type = 1 -- somente objetos de usuário / somente views select count(*) total from rdb$relations where rdb$system_flag = 0 and rdb$relation_type = 1 -- somente objetos de usuário / somente views
Procedures
select * from rdb$procedures where rdb$system_flag = 0 -- somente objetos de usuário select count(*) total from rdb$procedures where rdb$system_flag = 0 -- somente objetos de usuário
Triggers
select * from rdb$triggers where rdb$system_flag = 0 -- somente objetos de usuário select count(*) total from rdb$triggers where rdb$system_flag = 0 -- somente objetos de usuário
Generators
select * from rdb$generators where rdb$system_flag = 0 -- somente objetos de usuário select count(*) total from rdb$generators where rdb$system_flag = 0 -- somente objetos de usuário
Isso, isso, valw
Clique aqui para fazer login e interagir na Comunidade :)