SET SERVEROUTPUT ON
DECLARE
v_student_id NUMBER := &sv_student_id;
v_section_id NUMBER := 89;
v_final_grade NUMBER;
v_letter_grade CHAR(1);
BEGIN
SELECT final_grade
INTO v_final_grade
FROM enrollment
WHERE student_id = v_student_id
AND section_id = v_section_id;
CASE -- outer CASE
WHEN v_final_grade IS NULL THEN
DBMS_OUTPUT.PUT_LINE ('There is no final grade.');
ELSE
CASE -- inner CASE
WHEN v_final_grade >= 90 THEN v_letter_grade := 'A';
WHEN v_final_grade >= 80 THEN v_letter_grade := 'B';
WHEN v_final_grade >= 70 THEN v_letter_grade := 'C';
WHEN v_final_grade >= 60 THEN v_letter_grade := 'D';
ELSE v_letter_grade := 'F';
END CASE;
-- control resumes here after inner CASE terminates
DBMS_OUTPUT.PUT_LINE ('Letter grade is: '||v_letter_grade);
END CASE;
-- control resumes here after outer CASE terminates
END;
der obige Code i aus dem Buch Oracle PL-SQL genommen haben mit gutem Beispiel vierte Ausgabe 2009 mein Problem ist, wenn ich einen Schüler-ID nicht in der Tabelle geben Sie mir zurück die folgenden FehlerPL/SQL-Block Problem: Keine Daten gefunden
Error report: ORA-01403: no data found ORA-06512: at line 7 01403. 00000 - "no data found" *Cause: *Action:
aber nach Buchung es einen Nullwert zurückgegeben haben soll und dann den Fall Fluss folgen ..
bitte helfen sie mir ...
dank im Voraus
Sie haben die Möglichkeit, PL SQL als Code zu formatieren? – pjp
Sieht jetzt nett und hübsch aus :) – pjp