ORA-01403 (Nenhum dado encontrado) acontece quando sua consulta não retorna nada e você tenta passá-la para a variável via INTO . ORA-01422 (Muitas linhas) acontece quando sua consulta retorna mais de 1 linha que você está tentando ajustar em INTO . Você está lidando com o
no_data_found do primeiro SELECT consulta, mas você não está manipulando too_many_rows desde a primeira consulta. Se o seu primeiro SELECT consulta lança um no_data_found exceção, ela será tratada a partir do EXCEPTION , caso contrário, se lançar um too_many_rows exceção do que falhará como sua segunda imagem. Então, onde está o
no_data_found exceção acontecendo? Provavelmente de você segundo SELECT consulta. Você deve fazer um loop no primeiro
SELECT consulta para evitar um no_data_found ou um too_many_rows e certifique-se de que seu segundo SELECT consulta retorna sempre 1 linha.