Oracle - tablas temporales

 
Vista:

tablas temporales

Publicado por oscar (1 intervención) el 30/08/2005 22:42:16
En sql server es sincillisomo hacer una tabla temporal estando conectadfo a cualqueir db, en oracle intenete con esto, crea la tabla, pero no se elimina luego de cerrar la sesion , por cua?
CREATE GLOBAL TEMPORARY TABLE mytabla (mycampo varchar2(4));

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:tablas temporales

Publicado por Rodolfo Reyes (445 intervenciones) el 31/08/2005 17:37:18
En Oracle no existe el concepto de Tablas temporales tal y como se utiliza en SQL Server.

Lo mas parecido que existe son tablas que puedes crearlas para que los datos se borren al cerrar la sesión o al hacer COMMIT pero la tabla preserva su existencia (no se borra).

ON COMMIT PRESERVE ROWS (Borrar datos al cerrar
sesión)

ON COMMIT DELETE ROWS (Borrar datos al hacer COMMIT)


Ejm.

CREATE GLOBAL TEMPORARY TABLE gtt_zip (
zip_code VARCHAR2(5),
by_user VARCHAR2(30),
entry_date DATE)
ON COMMIT PRESERVE ROWS;

CREATE GLOBAL TEMPORARY TABLE gtt_zip (
zip_code VARCHAR2(5),
by_user VARCHAR2(30),
entry_date DATE)
ON COMMIT DELETE ROWS;


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tablas temporales

Publicado por oscar (1 intervención) el 04/09/2005 23:59:27
Al parecer, ninguno de las opciones me son utiles, asi que intentar haciendo un "TRUNCATE TABLE mytabla", para que libere el espacio fisico de mi pseudo tabla tremporal, pues lo que deseo es que los datos se encuentrenb en esa tabal mientras mi aplicacion este activa, pero luego de cerrala liberar todos los recursos, es cordecto usar el Truncate?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tablas temporales

Publicado por Ely (1 intervención) el 05/09/2005 22:10:07
Hola,

Al hacer COMMIT se elimina la data. La sentencia completa es asi:

Create global temporary table emp_temp(eno number) on commit delete rows;

Aunque no es necesario colocar "on commit delete rows; "

Saludos,
Ely
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tablas temporales

Publicado por trazom (28 intervenciones) el 06/09/2005 19:31:21
Creo que primero deberias tener ciertos conceptos basicos acerca de Oracle antes de ponerte a programar tratando de hacer las mismas cosas que en SQL Server. Como mencionaron anteriormente, las tablas temporales rara vez se usan, y si programas correctamente, nunca.
Oracle no tiene absolutamente nada que ver con SQL Server.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar