Borrar todas las tablas de un schema en Oracle

2009 mayo 20
tags: ,
por rafadc

Es curioso pero lidiando con Oracle a veces te encuentras con que parece que carece de ciertas cosas bastante elementales. Por ejemplo, ahora mismo estoy probando una aplicación que se autoinstala en una base de datos y ando pueba que te prueba y me gustaría que hubiese alguna manera sencilla de borrar todas las tablas de un esquema. El caso es que no es tan sencillo como parece y no me apetece tirar el esquema abajo y recrearlo porque también son más comandos de los que querría.

Al final la mejor solución que he encontrado es:


begin
for t in (select table_name from dba_tables where owner = 'ELESQUEMAABORRAR') loop
execute immediate 'drop table ELESQUEMAABORRAR.' || t.table_name || ' cascade constraints ';
end loop;
end;

¿Conoceis alguna manera mejor? A mi, para ser sincero, me parece una manera bastante poco elegante.

No comments yet

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS

Switch to our mobile site