Como creo una tabla temporal en 8i

Jime
07 de Octubre del 2003
Tengo entendido que una tabla temporal se crea con

CREATE GLOBAL TEMPORARY TABLE nombre_tabla(var number);

Pero me da un error que dice:
PLS-00103: Se ha encontrado el símbolo "CREATE" cuando se esperaba uno de los siguientes:

begin declare exit for goto if loop mod null pragma raise
return select update while <an identifier>

Falta definir algo?

Ayudenme porfavor


helson
07 de Octubre del 2003
hola como estas espero que bien, disculpa que no te de ninguna respuesta pero no se si me podrias ayudar por una duda que tengo si.
es la siguiente:
como puedo crear una tabla temporal mediante una consulta con en sql server por ejem
select camp1, camp2 into #nombre_tabla_temporal from tabla1, tabla2

bueno ese era mi pregunta gracias.

nerea
07 de Octubre del 2003
La sintaxis es correcta si lo ejecutas desde SQL, pero parece que tú lo tienes en PL/SQL.

Prueba poniendo :
EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE nombre_tabla(var number)'

y sino mira si tienes algún error sintáctico en alguna línea anterior.

Jime
07 de Octubre del 2003
Primero que nada muchas gracias por tu respuesta, solucione mi problema, pero ahora tengo la siguiente duda, tengo entendido que las tablas temporales no se eliminan solo se eliminan sus registros ya que se crean en segmentos temporales, eso quiere decir que luego la tabla debe eliminarse como cualquiera otra tabla, o sea con DROP TABLE?

Cariños

Jime.

nerea
07 de Octubre del 2003
Efectivamente.

Jime
07 de Octubre del 2003
Muchas gracias nerea, te agradesco tu respuesta ha sido de mucha utilidad, si no fuera mucho el abuso tengo un problema con un replace , lo publique hace un momento con mi mismo nombre.

Gracias

Cariños
Jime