› Fóruns › SQL e PL/SQL › Query Tabelas Vazias › Query Tabelas Vazias
26 de setembro de 2012 às 1:48 am
#104495
Participante
Você pode coletar essa informação usando a coluna NUM_ROWS da view DBA_TABLES.
select 'DROP TABLE ' || table_name || ';' from DBA_TABLES where owner='SCHEMA_OWNER' and num_rows=0;
Porém antes é necessário atualizar os dados da view DBA_TABLES usando a função:
begin
dbms_stats.gather_schema_stats(ownname => 'SCHEMA_OWNER');
end;
Cuidado com a cláusula WHERE, pois se executar a query sem ela irá gerar um script que excluirá também tabelas do sistema.
Também te aconselho a fazer um backup antes de efetuar esse procedimento.
Abs.
Paulo.