-- 编写一个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觉得它没有错,用户觉得这个不太行,自己编写的,自己处理