siempre les leo que es posible eliminar los cursores, pero no veo como
hacerlo... es por medio de alguna query más poderosa, por sentencias que no
conozco (otra dimensión, desconocida???)
sólo bromeo, la idea aprender a ver las posibilidades de desprenderme de los
cursores, si es necesario.
aquí va uno, no sé si se puede traducir a algo sin cursor:
Set @cont = 1
Set @cursor_empresa = CURSOR FOR SELECT id FROM act_Empresa
OPEN @cursor_empresa
FETCH next FROM @cursor_empresa INTO @id_empresa /*lo tengo afuera porque
adentro me daba algunos problemas*/
WHILE (@@fetch_status = 0)
BEGIN
SELECT @paso_cont = COUNT(A.id)
FROM act_Alumno A INNER JOIN act_EvaluacionAlumno EA ON A.id EA.IdAlumno INNER JOIN act_Evaluacion E ON EA.IdEv = E.Id
WHERE (A.idempresa = @id_empresa)
set @cont = @cont + 1
FETCH NEXT FROM @cursor_empresa INTO @id_empresa
end
END
CLOSE @cursor_empresa
DEALLOCATE @cursor_empresa
Muy agredecido, desde ya.
Emerson
Leer las respuestas