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.