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