2010-08-13 23 views
10

Tengo un procedimiento almacenado en SQL Server 2000. Contiene:
select ... into ##Temp ...
...
drop table ##Temp
Ya hay un objeto denominado '## Temperatura' en la base de datos

Cuando ejecuto el procedimiento almacenado con ADO un segundo tiempo, solicitudes:
Ya existe un objeto llamado '## Temp' en la base de datos.
¿Alguien podría decirme amablemente qué ocurre?

+0

no se puede simplemente usar una variable de tabla (seleccionar .. en @temp). entonces no necesita preocuparse por la desasignación de la tabla, etc. – RPM1984

+0

La estructura de la tabla es dinámica. Es por eso que uso tablas temporales. – phoenies

Respuesta

18

Debe volver a escribir su proc almacenado para descartar la tabla temporal si es que existe, entonces no siempre tienen este problema

IF (SELECT object_id('TempDB..##Temp')) IS NOT NULL 
BEGIN 
    DROP TABLE ##Temp 
END 
+0

El error es Entonces, el problema en