当使用CASE判断时,如果没有ELSE部分的话,ORACLE会为你增加ELSE RAISE NOT_CASE_FOUND; DECLARE v_grade CHAR(1) := 'Z'; BEGIN CASE WHEN v_grade = 'A' THEN DBMS_OUTPUT.PUT_LINE('Excellent'); WHEN v_grade = 'B' THEN DBMS_OUTPUT.PUT_LINE('Good'); WHEN v_grade = 'C' THEN DBMS_OUTPUT.PUT_LINE('Poor'); END CASE; EXCEPTION WHEN CASE_NOT_FOUND THEN DBMS_OUTPUT.PUT_LINE('No that case [' || v_grade || ']'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('ERROR CODE: ' || SQLCODE || CHR(10) || 'ERROR MSG:' || SQLERRM); END; No that case [Z]