ORA-01403 (Ingen data fundet) sker, når din forespørgsel ikke returnerer noget, og du prøver at overføre den til variabel via INTO .
ORA-01422 (For mange rækker) sker, når din forespørgsel returnerer mere end 1 række, som du forsøger at passe til INTO .
Du håndterer no_data_found fra den første SELECT forespørgsel, men du håndterer ikke too_many_rows fra den første forespørgsel. Hvis din første SELECT forespørgsel kaster en no_data_found undtagelse, vil det blive håndteret fra EXCEPTION , ellers hvis den kaster en too_many_rows undtagelse, end det vil mislykkes som dit andet billede.
Så hvor er no_data_found sker der en undtagelse? Sandsynligvis fra din anden SELECT forespørgsel.
Du skal sløjfe den første SELECT forespørgsel for at undgå en no_data_found eller en too_many_rows og sørg for, at din anden SELECT forespørgsel returnerer altid 1 række.