Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/10/2008, 12:45
SinNombre
 
Fecha de Ingreso: septiembre-2007
Mensajes: 51
Antigüedad: 17 años, 4 meses
Puntos: 0
Pregunta Manejo de Cursor con Instruccion en cadena

Hola, Estoy creando un Store Procedure en SQL Server 2000 y he llegado al punto en el cual necesito ejecutar las siguientes instrucciones:

Set @Cadena = 'Select count(Id_Proveedor),Id_Proveedor from _TmpProveedores'+@Unidad
Set @Cadena = @Cadena + ' Group By Id_Proveedor Having count(Id_Proveedor) > 1'
Declare @Rep_Cursor Cursor for
Exec Sp_ExecuteSql @Cadena
Open @Rep_Cursor
Fetch Next From @Rep_Cursor
While @@Fetch_Status = 0
Begin
Set @Cadena = 'Delete From _TmpProveedores'+@Unidad+ ' Where Color = ''Azul'' And Id_Provedor = '@Rep_Cursor
Exec Sp_ExecuteSql @Cadena
End
Close @Rep_Cursor;
Deallocate @Rep_Cursor;


Como el nombre de la tabla en la que hago el "Select" esta compuesto por ["Nombre Tabla"] + ["Unidad"] , Donde: "Unidad" es una variable que le paso como parametro al SP necesito crear una cadena con la sentencia completa y despues ejecutarla mediante SP_ExecuteSQL, pero al parecer no es permitido al momento de usuar cursores.
Alguien tiene una idea de como ejecutar esa Instruccion Select y poder almacenar el resultado en alguna variable para despues ejecutar la instruccion Delete que esta dentro del While