SET SERVEROUTPUT ON
DECLARE
v_num NUMBER := &ANY_NUM;
v_res NUMBER;
BEGIN
v_res := MOD(v_num, 2);
CASE v_res
WHEN 0 THEN DBMS_OUTPUT.PUT_LINE(v_num||'是偶数');
ELSE DBMS_OUTPUT.PUT_LINE(v_num||'是奇数');
END CASE;
EXCEPTION
WHEN INVALID_NUMBER THEN
DBMS_OUTPUT.PUT_LINE('请输入数字!');
END;
/ 就是如此简单一个程序,PL/SQL竟然提示在CASE处处错了,怎么回事呢?
我是菜鸟,大家勿笑啊!
DECLARE
v_num NUMBER := &ANY_NUM;
v_res NUMBER;
BEGIN
v_res := MOD(v_num, 2);
CASE v_res
WHEN 0 THEN DBMS_OUTPUT.PUT_LINE(v_num||'是偶数');
ELSE DBMS_OUTPUT.PUT_LINE(v_num||'是奇数');
END CASE;
EXCEPTION
WHEN INVALID_NUMBER THEN
DBMS_OUTPUT.PUT_LINE('请输入数字!');
END;
/ 就是如此简单一个程序,PL/SQL竟然提示在CASE处处错了,怎么回事呢?
我是菜鸟,大家勿笑啊!
因为v_numNUMBER := &ANY_NUM;
这就定义就错了,不会到你的exception
楼主还是改用if ... then吧。