PDA

Ver la Versión Completa : crear un cursor tomando un procedimiento almacenado


erickperez6
16-03-2011, 15:55:07
saludos,

deseo crear un cursor que en vez de tomar una consulta sql, extraiga los datos desde un procedimiento almacenado, pero al parecer no me funciona, mi consulta es si los cursores solo estan restringidos para tomar datos de sentencias sql??

DECLARE cumplimientos CURSOR FOR
exec dbo.sp_rpt_cumplimientos (@idplan, @fecha1, @fecha2, @estatus, @grupo)
open cumplimientos

Obtengo error de compilacion en la palabra "exec", la declaracion del cursor espera la palabra "select", como es posible lograr esto?

erickperez6
16-03-2011, 18:46:55
ya resolvi el problema, doy la solucion por aqui por si alguien le es necesario.

Ciertamente no se pueden ejecutar SP en la definicion del cursor pero si funciones de tipo Table que hacen casi la misma funcion que un SP, por lo tanto converti mi SP en una funcion que retorna una tabla, el codigo de la declaracion quedaria asi:

DECLARE cumplimientos CURSOR FOR
select * from dbo.func_rpt_cumplimientos (@idplan, @fecha1, @fecha2, @estatus, @grupo)
open cumplimientos