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.