declare
cursor cursor1 is
select...
codigo number;
begin
codigo := 0;
for vcursor in cursor1 loop
if codigo = vcursor.codigo then
várias açoes aqui.
end if;
if codigo <> vcursor.codigo then
várias açoes aqui.
end if;
codigo := vcursor.codigo;
end loop;
end;
A primeira iteração do laço logicamente entra no if da diferença, depois do processamento ele poderia entrar no if da igualdade ou diferença dependendo do valor do código anterior que alimentei a variável código (as veses o código é igual de uma iteração anterior).
Porém estou vendo que depois da terceira iteração se o codigo for diferente ele não entra no if da diferença.
Presumo que eu tenho errado de alguma forma na sintaxe, alguém pode dar alguma ajuda?