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

PL/SQL-blokeringsproblem:Ingen data fundet fejl

Når du vælger INTO en variabel, og der ikke returneres nogen poster, skulle du få fejlen NO DATA FOUND. Jeg tror, ​​at den korrekte måde at skrive ovenstående kode på ville være at pakke SELECT-sætningen med sin egen BEGIN/EXCEPTION/END-blok. Eksempel:

...
v_final_grade NUMBER;
v_letter_grade CHAR(1);
BEGIN

    BEGIN
    SELECT final_grade
      INTO v_final_grade
      FROM enrollment
     WHERE student_id = v_student_id
       AND section_id = v_section_id;

    EXCEPTION
      WHEN NO_DATA_FOUND THEN
        v_final_grade := NULL;
    END;

    CASE -- outer CASE
      WHEN v_final_grade IS NULL THEN
      ...


  1. Sådan installeres SQL Server Manager Studio (SSMS) - SQL Server / TSQL vejledning del 1

  2. MySQL streng udskiftning

  3. Django JSONField inde i ArrayField

  4. SQL-forespørgsel for at vise nærmeste dato?