segunda-feira, 25 de maio de 2009

Dropar todos os tipos e tabelas no Oracle

Uma dúvida que eu tive recentemente (por sinal, Oracle é muito problemático ¬¬), como dropar (deletar) todos os tipos e tabelas de um usuário. São dois scripts simples, porém muito funcionais. São eles:

(how to drop all types and tables in Oracle)

Script Para Remoção de Todas as Tabelas
begin
for deleta in (select table_name, 'DROP TABLE '||table_name||' cascade constraints' AS dropar from user_tables) loop
BEGIN
EXECUTE IMMEDIATE deleta.dropar;
dbms_output.put_line('DROP TABLE '||deleta.table_name||' cascade constraints;');
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('Erro ao tentar dropar a tabela:'||deleta.table_name);
END;
end loop;
end;
Script Para Remoção de Todos os Types

begin
for deleta in (select type_name, 'DROP type '||type_name||' force' AS dropar from user_types) loopBEGIN
EXECUTE IMMEDIATE deleta.dropar;
End;end loop;
end;

2 comentários: