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

ORA-01403:Keine Daten für Auswählen in gefunden

Obwohl Sie eine WHERE-Bedingung eingegeben haben, wäre es besser, den Fall eines nicht gefundenen Datensatzes oder des Fehlers „Keine Daten gefunden“ zu behandeln. Ich würde den obigen Code schreiben, indem ich den SELECT umschließe Anweisung mit eigenem BEGIN/EXCEPTION/END blockieren.

Code könnte in etwa so aussehen:

BEGIN
    SELECT trim(name) 
    INTO fullName
    FROM (
        SELECT n.name
        FROM directory dir, store n
        WHERE dir.name = n.name
        AND dir.STATUS NOT IN ('F','L','M')           
        ORDER BY n.imp, dir.date
    )
    WHERE rownum <= 1;
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        fullName := NULL;
END;