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

ORA-01403:nessun dato trovato per Seleziona in

Sebbene tu abbia inserito una condizione WHERE, un modo migliore sarebbe gestire il caso di record non trovato o l'errore "Nessun dato trovato". Scriverei sopra il codice con il wrapping di SELECT istruzione con il proprio BEGIN/EXCEPTION/END blocco.

Il codice potrebbe essere qualcosa del genere:

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;