Tabelas que contenham dados

Firebird

01/02/2012

Bom dia!
Tem alguma forma de obter através dos metadados do Firebird somente o nome as tabelas que contenham dados no banco?
tem alguma maneira de saber isso via SQL?
Ou será que tem que criar um exe por exemplo que busque o nome dessas tabelas e para cada uma delas faça um select retornando se tem dados??
Faço essa pergunta porque tenho um banco de dados para converter com mais de 600 tabelas ....

desde já obrigada.
Fabianne

Fabianne

Curtidas 0

Respostas

João Sobrinho

João Sobrinho

01/02/2012

Colega, vê se ajuda:

execute block returns (TABELA varchar(32), REGISTROS integer) as

begin
for select rdb$relation_name from rdb$relations where substring(rdb$relation_name from 4 for 1)<>$ into :TABELA do
begin
execute statement select count(*) from || :TABELA into :REGISTROS;
suspend;
end
end;

GOSTEI 0
João Sobrinho

João Sobrinho

01/02/2012

execute block returns (TABELA varchar(32), REGISTROS integer) as

begin
  for select rdb$relation_name from rdb$relations where substring(rdb$relation_name from 4 for 1)<>$ into :TABELA do
      begin
        execute statement select count(*) from  || :TABELA into :REGISTROS;
        suspend;
      end
end;

GOSTEI 0
POSTAR