Cursores sao estruturas (select) para selecionar varias linahs de resultado. Selecionar mais de 1 registro nao é possivel pelo padrão select.....into. Logo, usar cursores previne erros ORA-01403:no data found & ORA-01422: exact fetch returns more than requested number of rows.
CURSORES EXPLICITOS- para mais de 1 linha. . Declarados em declare. Para processar as linhas, deve-se criar variavel para recebê-las, para tanto usa-se fetch.
sintaxe: fetch llllllnome cursorlllllll into lllllvariaveisllllllll
Cada cursor explicito tem 4 atributos:
%NOTFOUND: boolean. false se fetch rtornou valor. Contrário, true
%FOUND: o oposto de %NOTFOUND
%ROWCOUNT. N° DE REGISTROS
%ISOPEN. true se cursor estiver aberto
CURSORES IMPLÍCITOS - O banco de dados abre um cursor (implicitamente) para processar sql que nao tiver cursor explicito. nao é possivel executar operações open, fetch e close.