CREATE TABLE #tmp , Drop Table #tmp

16/07/2007 - 14:10 por Pedro | Informe spam
No entiendo que hace el SQL 2005

en mis procedures me creo una tabla:

CREATE TABLE #tmp ..


cuando la elimino de la forma:


If not (object_id('tempdb.dbo.#tmp') is null)
Drop Table #tmp
No me da errores cuando vuelvo a crear la misma tabla "#"

pero si me voy a ver las tablas temporales veo que esta alli y que se remite
muchas veces tantas como he ejecutado el procedure

quien me puede decir alguna cosa

Preguntas similare

Leer las respuestas

#1 Maxi
16/07/2007 - 14:34 | Informe spam
Hola, si te da errores cuando la intentas crear porque ya existe entonces no
la estas borrando :-p


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Pedro" escribió en el mensaje
news:
No entiendo que hace el SQL 2005

en mis procedures me creo una tabla:

CREATE TABLE #tmp ..


cuando la elimino de la forma:


If not (object_id('tempdb.dbo.#tmp') is null)
Drop Table #tmp
No me da errores cuando vuelvo a crear la misma tabla "#"

pero si me voy a ver las tablas temporales veo que esta alli y que se
remite
muchas veces tantas como he ejecutado el procedure

quien me puede decir alguna cosa


Respuesta Responder a este mensaje
#2 principiante
16/07/2007 - 14:47 | Informe spam
Primero en los store procedures no es necesario borrar las tablas temporales
locales porque se borran automaticamente. Lo dice en los libros on-line.
Distinto fuera si las tablas fueran globales. (##)

Segundo, no estoy seguro pero puede que no importe que se vean en tablas
temporales ya que no te da ningun error.
Si hubiera algo mal pienso que te reportara un error cuando trates de
crearla nuevamente.


Jose TH

"Pedro" escribió en el mensaje
news:
No entiendo que hace el SQL 2005

en mis procedures me creo una tabla:

CREATE TABLE #tmp ..


cuando la elimino de la forma:


If not (object_id('tempdb.dbo.#tmp') is null)
Drop Table #tmp
No me da errores cuando vuelvo a crear la misma tabla "#"

pero si me voy a ver las tablas temporales veo que esta alli y que se
remite
muchas veces tantas como he ejecutado el procedure

quien me puede decir alguna cosa


Respuesta Responder a este mensaje
#3 Alejandro Mesa
16/07/2007 - 14:58 | Informe spam
Hola Pedro,

- Como sabes que esta alli?

Si tu sp es ejecutado por multiples usuarios, cada session tendra una tabla
temporal diferente.


AMB

"Pedro" wrote:

No entiendo que hace el SQL 2005

en mis procedures me creo una tabla:

CREATE TABLE #tmp ..


cuando la elimino de la forma:


If not (object_id('tempdb.dbo.#tmp') is null)
Drop Table #tmp
No me da errores cuando vuelvo a crear la misma tabla "#"

pero si me voy a ver las tablas temporales veo que esta alli y que se remite
muchas veces tantas como he ejecutado el procedure

quien me puede decir alguna cosa


Respuesta Responder a este mensaje
#4 Pedro
16/07/2007 - 16:38 | Informe spam
Mi tabla es de tipo # y no ##

Las estoy viendo desde el esplorador de objetos, aunque refesco, mesdelogo y
veo que aun estan alli... no me da errores

Pero no se por que no desaparecen?


"Es un procedure que lo estoy ejecutando yo mismo n veces"
alguna idea?


"Alejandro Mesa" wrote:

Hola Pedro,

- Como sabes que esta alli?

Si tu sp es ejecutado por multiples usuarios, cada session tendra una tabla
temporal diferente.


AMB

"Pedro" wrote:

> No entiendo que hace el SQL 2005
>
> en mis procedures me creo una tabla:
>
> CREATE TABLE #tmp ..
>
>
> cuando la elimino de la forma:
>
>
> If not (object_id('tempdb.dbo.#tmp') is null)
> Drop Table #tmp
> No me da errores cuando vuelvo a crear la misma tabla "#"
>
> pero si me voy a ver las tablas temporales veo que esta alli y que se remite
> muchas veces tantas como he ejecutado el procedure
>
> quien me puede decir alguna cosa
>
>
Respuesta Responder a este mensaje
#5 Alejandro Mesa
16/07/2007 - 17:34 | Informe spam
Hola Pedro,

Eso puede estar asociado a que SS 2005 puede poner esas tablas en el cache
para no tenerlas que crear cada vez que se ejecute el procedimiento, o quizas
que su eliminacion fisica ha sido deiferida.

Si alguien de Microsoft esta monitoreando este grupo, le agradeceria su
intervencion.


AMB

"Pedro" wrote:

Mi tabla es de tipo # y no ##

Las estoy viendo desde el esplorador de objetos, aunque refesco, mesdelogo y
veo que aun estan alli... no me da errores

Pero no se por que no desaparecen?


"Es un procedure que lo estoy ejecutando yo mismo n veces"
alguna idea?


"Alejandro Mesa" wrote:

> Hola Pedro,
>
> - Como sabes que esta alli?
>
> Si tu sp es ejecutado por multiples usuarios, cada session tendra una tabla
> temporal diferente.
>
>
> AMB
>
> "Pedro" wrote:
>
> > No entiendo que hace el SQL 2005
> >
> > en mis procedures me creo una tabla:
> >
> > CREATE TABLE #tmp ..
> >
> >
> > cuando la elimino de la forma:
> >
> >
> > If not (object_id('tempdb.dbo.#tmp') is null)
> > Drop Table #tmp
> > No me da errores cuando vuelvo a crear la misma tabla "#"
> >
> > pero si me voy a ver las tablas temporales veo que esta alli y que se remite
> > muchas veces tantas como he ejecutado el procedure
> >
> > quien me puede decir alguna cosa
> >
> >
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida