Borrar todas las tablas de un schema en Oracle
2009 mayo 20
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.





