【无标题】PL/SQL异常处理的题目

-- 编写一个PL/SQL程序块,从emp表中对名字以“A”或“S”
-- 开始的所有雇员按他们基本薪水的10%给他们加薪
declare
  cursor emp_cursor is select ename from emp where ename like'A%' or ename like'S%';
  v_name emp.ename%type;
begin
  open emp_cursor;
  fetch emp_cursor into v_name;
    update empp set sal = sal + sal*0.1 where ename = v_name ;
  close emp_cursor;   
end;

--输入某个员工名字,查询该员工的信息,如果该员工不存在,
--则引发异常,输出信息,该员工不存在
declare 
  v_name emp.ename%type:='&name';
  v_emp emp%rowtype;
begin
  select * into v_emp from emp where ename = v_name;
  dbms_output.put_line(v_emp.ename||'--'||v_emp.empno||'--'||v_emp.job||'--'||v_emp.mgr||'--'||v_emp.hiredate
    ||'--'||v_emp.sal||'--'||v_emp.comm||'--'||v_emp.deptno);
exception
  when no_data_found then
  dbms_output.put_line('该员工不存在');  
end;


--异常分为哪几种情况,请举例说明其应用场景
1.预定义异常:用户全程不用干预,系统自己定义,自己触发,用户只需要处理即可,
2.非预定义异常;用户做了个异常,这个异常没有名字,没有帮用户进行处理,提供了一半错误编号
3.用户自定义异常:Oracle觉得它没有错,用户觉得这个不太行,自己编写的,自己处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值