
Oracle的自定义异常问题,急
DECLAREv_salscott.emp.sal%TYPE;--薪水v_depscott.emp%rowtype;--全部v_deptnoEXCEPTION;--BEG...
DECLARE
v_sal scott.emp.sal%TYPE; --薪水
v_dep scott.emp%rowtype; --全部
v_deptno EXCEPTION; --
BEGIN
SELECT * INTO v_dep FROM scott.emp WHERE deptno=10;
IF v_sal IS NULL THEN
RAISE v_deptno;
ELSIF v_sal<=10000 THEN
UPDATE scott.emp SET sal=10000 WHERE deptno=10;
ELSE
dbms_output.put_line('工资不低于10000元');
END IF;
EXCEPTION
WHEN v_deptno THEN
dbms_output.put_line('工资不正确');
WHEN OTHERS THEN
dbms_output.put_line('出现其他异常');
END;
总是报出现其他异常 展开
v_sal scott.emp.sal%TYPE; --薪水
v_dep scott.emp%rowtype; --全部
v_deptno EXCEPTION; --
BEGIN
SELECT * INTO v_dep FROM scott.emp WHERE deptno=10;
IF v_sal IS NULL THEN
RAISE v_deptno;
ELSIF v_sal<=10000 THEN
UPDATE scott.emp SET sal=10000 WHERE deptno=10;
ELSE
dbms_output.put_line('工资不低于10000元');
END IF;
EXCEPTION
WHEN v_deptno THEN
dbms_output.put_line('工资不正确');
WHEN OTHERS THEN
dbms_output.put_line('出现其他异常');
END;
总是报出现其他异常 展开
1个回答
展开全部
出现其他异常的原因可能是scott.em.sal%TYPE定义出问题了(可能没有正确连接数据库SCOTT方案).
代码中还有一个问题是v_sal没有赋值,正确连接SCOTT方案后,应该出现"工资不正确"的异常;
代码修改为
Select sal into v_sal from scott.emp where deptno=10;
即可
代码中还有一个问题是v_sal没有赋值,正确连接SCOTT方案后,应该出现"工资不正确"的异常;
代码修改为
Select sal into v_sal from scott.emp where deptno=10;
即可
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询