borrar tabla temporal

10/03/2005 - 09:46 por Ricardo Escudero | Informe spam
ya se que se borran automaticamente, pero me parece que tengo alguna opcion
en la base de datos
que por alguna razon me mantiene las tablas temporales sin borrar.
entonces necesito averiguar si existe o no una tabla temporal para poder
borrarla antes de crearla.

para ello utilizo:

if exists (select * from tempdb..sysobjects where id =
object_id(N'[#tempPuntVerdeI]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
exec('drop table [#tempPuntVerdeI]')
END

pero no lo borrar, sin embargo si me voy a tempdb si existe en sysobjects,
pero con este nombre:

#tempPuntVerdeI_____________________________________________________________________________________________________000000001A86

como puedo borrarla?
como puedo saber exactamente que nombre ha puesto?
que opcion tengo puesta para que me mantengan las tablas temporales o que
sean globales?

muchas gracias

Preguntas similare

Leer las respuestas

#1 qwalgrande
10/03/2005 - 11:36 | Informe spam
Hola.

Yo uso lo siguiente:
if object_id('tempdb..#TablaTemporal') > 0
drop table #TablaTemporal

Y tus tablas temporales no son globales (para que sean globales y accesibles
desde otra conexión el nombre debe comenzar por "##"), pero se crean
físicamente en tempdb con un nombre del aspecto que puedes ver. Ese nombre
es aleatorio, la siguiente vez que la crees le dará otro nombre.

qwalgrande


"Ricardo Escudero" wrote in message
news:
ya se que se borran automaticamente, pero me parece que tengo alguna opcion
en la base de datos
que por alguna razon me mantiene las tablas temporales sin borrar.
entonces necesito averiguar si existe o no una tabla temporal para poder
borrarla antes de crearla.

para ello utilizo:

if exists (select * from tempdb..sysobjects where id object_id(N'[#tempPuntVerdeI]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
exec('drop table [#tempPuntVerdeI]')
END

pero no lo borrar, sin embargo si me voy a tempdb si existe en sysobjects,
pero con este nombre:

#tempPuntVerdeI_____________________________________________________________
________________________________________000000001A86

como puedo borrarla?
como puedo saber exactamente que nombre ha puesto?
que opcion tengo puesta para que me mantengan las tablas temporales o que
sean globales?

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