cuando borran tablas temporales

21/02/2005 - 09:29 por Racsus | Informe spam
HOla

Cuando se borran las tablas temporales?
Cuando cierro la conexion desde donde la he creado?

saludos

Preguntas similare

Leer las respuestas

#1 qwalgrande
21/02/2005 - 12:13 | Informe spam
Hola.

Las tablas temporales se borran "normales" (las que llevan una única # ) se
borran al cerrar tu conexión o al finalizar el procedimiento almacenado que
las crea (si es el caso). Sin embargo, es preferible que te encargues de
ello, es decir, cuando ya no las necesites, las borrar (drop table #tabla).

qwalgrande


"Racsus" wrote in message
news:072901c517ef$860c9000$
HOla

Cuando se borran las tablas temporales?
Cuando cierro la conexion desde donde la he creado?

saludos
Respuesta Responder a este mensaje
#2 Alonso
21/02/2005 - 12:30 | Informe spam
Pero, las tablas temporales solo las puede ver la PC que la crea ? o estan
disponibles para todas las demas pc's ?

Hablo de una red local

"qwalgrande" wrote in message
news:eFto%
Hola.

Las tablas temporales se borran "normales" (las que llevan una única # )


se
borran al cerrar tu conexión o al finalizar el procedimiento almacenado


que
las crea (si es el caso). Sin embargo, es preferible que te encargues de
ello, es decir, cuando ya no las necesites, las borrar (drop table


#tabla).

qwalgrande


"Racsus" wrote in message
news:072901c517ef$860c9000$
HOla

Cuando se borran las tablas temporales?
Cuando cierro la conexion desde donde la he creado?

saludos


Respuesta Responder a este mensaje
#3 qwalgrande
21/02/2005 - 12:31 | Informe spam
Sólo las puede ver la conexión que las crea. Haz la prueba con query
Analizer. Crea una tabla temporal con una conexión e intenta acceder a la
tabla desde otra. Si quieres que se vean, debes crear la tabla temporal como
global, con dos #.

qwalgrande


"Alonso" wrote in message
news:u40$
Pero, las tablas temporales solo las puede ver la PC que la crea ? o estan
disponibles para todas las demas pc's ?

Hablo de una red local

"qwalgrande" wrote in message
news:eFto%
Hola.

Las tablas temporales se borran "normales" (las que llevan una única # )


se
borran al cerrar tu conexión o al finalizar el procedimiento almacenado


que
las crea (si es el caso). Sin embargo, es preferible que te encargues de
ello, es decir, cuando ya no las necesites, las borrar (drop table


#tabla).

qwalgrande


"Racsus" wrote in message
news:072901c517ef$860c9000$
HOla

Cuando se borran las tablas temporales?
Cuando cierro la conexion desde donde la he creado?

saludos


Respuesta Responder a este mensaje
#4 Jorge Bustos
22/02/2005 - 01:13 | Informe spam
Bueno, en realidad hay dos tipos de tablas temporales (o 3 si consideramos
"locales al procedimiento" las de los proc. almacenados):

- las tablas temporales locales se crean con anteponiendo un # al nombre de
la tabla y están disponibles solo para la conexión que las ha creado. Es
decir, sólo están visibles para la conexión que las creó y desaparecen
cuando la conexión se cierra. Aunque dé la casulaidad de que dos usuarios se
conecten simultáneamente y creen la misma tabla temporal SQL Server no las
confunde ya que internamente las añade un identificador. (Puedes hacer una
prueba: abre dos instancias del analizador de consultas y crea una tabla
temproal con el mismo nombre en ambas. Mira las tablas de usuario de tempdb.
Cierra uno de los analizadores de consultas y vuelve a mirar las tablas que
quedan).

- si se crea una tabla temporal local dentro de un procedimiento almacenado
con #, esta tabla es distinta de una temporal del mismo nombre creada fuera
del procedimiento. Esto permite anidar procedimientos almacenados que
utilicen tablas temporales con el mismo nombre que niveles más externos.
Estas tablas desaaprecen al terminar la ejecución del procedimiento
almacenado que las creó. Puedes crear un procedimiento almacenado con un
WAITFOR para ver cuando desaparece la tabla temporal. Por ejemplo:

create procedure p as
begin
create table #x (id int)
waitfor delay '00:01:00'
end

Mira también como se crea la del proc. almacenado con una numeración interna
diferente a la temporal de la conexión.

Para rizar el rizo prueba a crear y llamar a:

create procedure p2 as
begin
create table #x (id int)
exec p;
end

verás que crea la temporal para p2 y la temporal para p, a parte de una
temporal que pueda existir en la conexión.

- las tablas temporales globales se crean anteponiendo dos ## al nombre de
la tabla. Están accesibles para todas las conexiones de la base de datos
(haz la prueba con dos instancias del analizador de consultas a crearla
desde una e insertar un valor y consultarla desde la otra conexión). La
tabla se destruye cuando se cierra la conexión que la creó y terminan todas
las tareas que estén utilizándola. Es decir, aunque se cierre la conexión
que creó la tabla seguirá existiendo siempre que siga en uso.

Recomendación: procura hacer el drop de las tablas por tí mismo, en vez de
confiar en SQL Server. Pero no es porque vaya a fallar ;) Por claridad.

Saludos,
Jorge


"qwalgrande" wrote in message
news:
Sólo las puede ver la conexión que las crea. Haz la prueba con query
Analizer. Crea una tabla temporal con una conexión e intenta acceder a la
tabla desde otra. Si quieres que se vean, debes crear la tabla temporal


como
global, con dos #.

qwalgrande


"Alonso" wrote in message
news:u40$
Pero, las tablas temporales solo las puede ver la PC que la crea ? o estan
disponibles para todas las demas pc's ?

Hablo de una red local

"qwalgrande" wrote in message
news:eFto%
> Hola.
>
> Las tablas temporales se borran "normales" (las que llevan una única # )
se
> borran al cerrar tu conexión o al finalizar el procedimiento almacenado
que
> las crea (si es el caso). Sin embargo, es preferible que te encargues de
> ello, es decir, cuando ya no las necesites, las borrar (drop table
#tabla).
>
> qwalgrande
>
>
> "Racsus" wrote in message
> news:072901c517ef$860c9000$
> HOla
>
> Cuando se borran las tablas temporales?
> Cuando cierro la conexion desde donde la he creado?
>
> saludos
>
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida