sql >> Databasteknik >  >> RDS >> Oracle

PL/SQL-blockproblem:Inga data hittades fel

När du väljer INTO en variabel och inga poster returneras bör du få felet NO DATA FOUND. Jag tror att det korrekta sättet att skriva ovanstående kod skulle vara att slå in SELECT-satsen med sitt eget BEGIN/EXCEPTION/END-block. Exempel:

...
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. Postgres:konvertera en rad till flera rader (unpivot)

  2. Skrivoptimeringar för Qualcomm Centriq 2400 i MariaDB 10.3.5 Release Candidate

  3. Användardefinierad rutin med DBMS_STATS, del II

  4. Hur gör man synkronisering med lokal databas och pars?