Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Utilidade do cursor

Boa tarde!

Eu não consegui entender direito a necessidade de se utilizar o cursor. No exemplo do professor, eu consegui entender como usar, mas não me ficou claro, num exemplo prático, o porquê de ser útil.

1 resposta
solução!

Um exemplo prático:

Tenho uma rotina que serve na prática para avaliar o histórico de um aluno de graduação e ver se esse aluno pode ou não ser matriculado numa disciplina contida numa lista que ele escolheu. Isso é feito para todos os alunos de um curso, para todos os cursos de um campus.

O cursor foi aplicado, entre outros, na hora de iterar pelos alunos de um curso X. Isso porque é necessário verificar para cada aluno:

  • quais disciplinas ele já fez
  • quais disciplinas ele quer fazer
  • qual o coeficiente atual dele no curso e etc

E depois aprovar ou negar a solicitação de cada uma das disciplinas escolhidas por esse aluno. Nisso existem problemas difíceis de serem tratados na interface, que no fim ficam a cargo do banco resolver, por exemplo: o aluno pode escolher fazer uma disciplina C2 mas essa disciplina tem como pré-requisito a disciplina C, que o aluno ainda não fez.

Em suma, o cursor é usado para realizar um processamento complexo, formado por operações aninhadas que as vezes também complexas.