sql >> Database teknologi >  >> RDS >> Oracle

Ingen data fundet, eller der opstod en undtagelsesfejl for mange rækker under indsættelse af masseregistrering

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.



  1. Visning af MySQL-data til klienter, når de logger ind

  2. Sådan oprettes forbindelse til database ved hjælp af NaviCat MySQL-klient

  3. Oracle SEQUENCE - 'øge med' og 'cache'

  4. Mystisk SQL blokerer min lagrede procedure i at køre på ORACLE