Pular para o conteúdo

Fóruns SQL e PL/SQL Query Tabelas Vazias Query Tabelas Vazias

#104495
paulogerva
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.