总是报出现其他异常,这可咋整?

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; 

呼唤远方
浏览 215回答 2
2回答

不负相思意

出现其他异常的原因可能是scott.em.sal%TYPE定义出问题了(可能没有正确连接数据库SCOTT方案).代码中还有一个问题是v_sal没有赋值,正确连接SCOTT方案后,应该出现"工资不正确"的异常;代码修改为Selectsalintov_salfromscott.empwheredeptno=10;即可

慕桂英546537

注释1声名了一个number类型的变量,总长7位,小数点后2位,名是annual_salazy注释2中的selectinto是不是将a.sal赋给了变量annual_salazy中注释3把annual_salazy的值作为函数的返回值。注释4exception是异常处理。当上面程序出现错误或select语句查不到记录时才执行。此函数总意思是:通过参数username调用了annual_incomec函数,查找emp表中名字为与参数一致的雇员的薪水(sal)。查到记录了返回该雇员的薪水;没查到则返回一个值空值。&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Oracle