Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Borrar todas las tablas

Estas en el tema de Borrar todas las tablas en el foro de Oracle en Foros del Web. Hola, estoy intentando borrar todas mis tablas de la base de datos Oracle, con algo así Código: DECLARE v_NOMBRE DBA_TABLES.TABLE_NAME%TYPE; CURSOR c_TABLAS IS select TABLE_NAME ...
  #1 (permalink)  
Antiguo 09/10/2007, 06:28
 
Fecha de Ingreso: marzo-2007
Mensajes: 78
Antigüedad: 17 años, 8 meses
Puntos: 0
Borrar todas las tablas

Hola, estoy intentando borrar todas mis tablas de la base de datos Oracle, con algo así

Código:
DECLARE
	v_NOMBRE DBA_TABLES.TABLE_NAME%TYPE;
CURSOR c_TABLAS IS
	select TABLE_NAME from DBA_TABLES WHERE OWNER = 'GMR';
BEGIN
	OPEN c_AREAS;
	LOOP
		FETCH c_AREAS INTO v_NOMBRE;
		EXIT WHEN c_AREAS%NOTFOUND;
		DROP TABLE v_NOMBRE;
	END LOOP;
	CLOSE c_AREAS;
END;
pero no consigo hacerlo. ¿Cómo podría borrar todas las tablas existentes? Gracias
  #2 (permalink)  
Antiguo 10/10/2007, 00:37
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Re: Borrar todas las tablas

Las sentencias DDL no se pueden hacer en un pl-sql así, tal cual.
Debes utilizar el EXECUTE INMEDIATE y al DROP TABLE XXXXXX tienes que dejarle la coletilla CASCADE CONSTRAINTS por si tiene tablas hijas y si utilizas una BBDD 10g finaliza la sentencia con PURGE ( para que te la elimine totalmente y no la deje en la papelera de reciclaje )
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:52.