Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Nenhum dado encontrado ou erro de exceção de muitas linhas ocorreu durante a inserção do registro em massa


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.