为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

呼唤远方 2023-04-01 18:14:09
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; 
查看完整描述

2 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

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


查看完整回答
反对 回复 2023-04-05
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

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


查看完整回答
反对 回复 2023-04-05
  • 2 回答
  • 0 关注
  • 214 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信