Ayuda Cursores

17/10/2005 - 14:25 por RCM | Informe spam
Hola a todos.

Quiero utilizar un procedimiento almacenado para borrar tablas
temporales del servidor. Este es el código:

declare BorrarTablasTemporales cursor for

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.tables
WHERE TABLE_NAME like 'tmp_dist_%'

declare @TablaTemp nvarchar(50)

open BorrarTablasTemporales

fetch first from BorrarTablasTemporales
into @TablaTemp

while @@fetch_status = 0
begin

drop table @TablaTemp

fetch next from BorrarTablasTemporales
into @TablaTemp

end

deallocate BorrarTablasTemporales


El error que recibo es este:

Servidor: mensaje 170, nivel 15, estado 1, línea 26
Línea 26: sintaxis incorrecta cerca de '@TablaBorrar'.

Sin embargo, cuando hago el Drop Table tmp_dist_009, así, sin usar la
variable, sí que me funciona.

Advierto que estoy bastante pez en Transact, así que si es una chorrada, no
me regañeis mucho.

Gracias.

Preguntas similare

Leer las respuestas

#11 RCM
17/10/2005 - 16:06 | Informe spam
Perdonad, a lo mejor me he explicado mal o no del todo.

Esas tablas a las que he llamado temporales se crean a lo largo del día
por aplicación de usuario y son relativas a consultas e informes que ya no
se van a usar más.

El script lo voy a meter en un trabajo programado para que se ejecute
por las noches y está claro que no se me ocurriría nunca tocar las tablas
que crea el sistema.


Si lo que te
ocurre es que siguen existiendo aún cuando no deberían estar, se deberá a
que no se cierran las conexiones o algún proceso sigue corriendo...



No, son tablas que crea una aplicación de Access y que se vinculan a
este, luego, ya no hacen falta.

Saludos a todos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida