PL/SQL - Explicação sobre Cursores e Loop

Pessoal boa tarde,

Trabalhei algum tempo com VB6 mas agora iniciei em uma nova oportunidade de trabalho com PL/SQL, preciso de ajuda para entender como funcionam as comparações nessa linguagem, por exemplo, estou desenvolvendo um relatório que rodará um SELECT e para cada registro (id) preciso fazer uma consulta na base para saber se houve entrada de dados na tabela para o mesmo código (id) nos últimos 30 dias, se positivo, vou indicar ‘SIM’ em uma coluna nomeada como REINCIDENTE, senão não farei nada… Gostaria de saber como posso montar isso e se devo usar CURSOR, pois tenho lido sobre ele e pra quem entende um pouquinho de VB me parece familiar com o RecordSet, onde eu guardo o resultado do SELECT e navego registro por registro verificando minhas consistências… por favor, se alguém puder postar um bloco com esse exemplo que eu passei, ficarei muito grato.

Valeu, obrigado.