sql >> Databasteknik >  >> RDS >> Oracle

ORA-01403:ingen data hittades för Välj till

Även om du har angett ett WHERE-villkor, skulle ett bättre sätt vara att hantera fall där posten inte hittas eller felet 'No Data Found'. Jag skulle skriva ovanstående kod med inslag av SELECT uttalande med sin egen BEGIN/EXCEPTION/END blockera.

Koden kan vara ungefär så här:

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;


  1. Hur ändrar jag min befintliga tabell för att skapa en intervallpartition i Oracle

  2. mysql cross join, men utan duplicerat par?

  3. Hur man granskar en PostgreSQL-databas

  4. Varför är osignerat heltal inte tillgängligt i PostgreSQL?