Oracle
 sql >> база данни >  >> RDS >> Oracle

Проблем с PL/SQL блок:Няма намерени данни грешка

Когато избирате INTO променлива и няма върнати записи, трябва да получите грешка NO DATA FOUND. Вярвам, че правилният начин да напишете горния код би бил да обвиете израза SELECT с неговия собствен блок BEGIN/EXCEPTION/END. Пример:

...
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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. копиране от една база данни в друга с помощта на oracle sql developer - връзката неуспешна

  2. nhibernate, функция за извикване в Oracle, която връща sys refcursor

  3. Как да убия работещ оператор SELECT

  4. PL/SQL групово събиране с клауза LIMIT в базата данни на Oracle

  5. Връщане на краткото име на ден от дата в Oracle