Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Beim Masseneinfügen von Datensätzen sind keine Daten gefunden oder es ist ein Ausnahmefehler zu zu viele Zeilen aufgetreten

ORA-01403 (Keine Daten gefunden) passiert, wenn Ihre Abfrage nichts zurückgibt und Sie versuchen, es über INTO an die Variable zu übergeben .

ORA-01422 (Zu viele Zeilen) tritt auf, wenn Ihre Abfrage mehr als eine Zeile zurückgibt, die Sie bei INTO einpassen möchten .

Sie handhaben den no_data_found aus dem ersten SELECT Abfrage, aber Sie verarbeiten too_many_rows nicht ab der ersten Abfrage. Wenn Ihr erster SELECT Abfrage wirft ein no_data_found Ausnahme, sie wird von der EXCEPTION behandelt , andernfalls, wenn es too_many_rows auslöst Ausnahme, dann schlägt es als zweites Bild fehl.

Wo ist also der no_data_found Ausnahme passiert? Wahrscheinlich von Ihnen zweites SELECT Abfrage.

Sie sollten das erste SELECT wiederholen Abfrage, um ein no_data_found zu vermeiden oder ein too_many_rows und stellen Sie sicher, dass Ihr zweiter SELECT Abfrage gibt immer 1 Zeile zurück.