Saat Anda memilih INTO a variable dan tidak ada catatan yang dikembalikan, Anda akan mendapatkan kesalahan NO DATA FOUND. Saya percaya cara yang benar untuk menulis kode di atas adalah dengan membungkus pernyataan SELECT dengan blok BEGIN/EXCEPTION/END itu sendiri. Contoh:
...
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
...