【PL/SQL】学习笔记 (6)光标使用的具体示例--emp表涨工资

给员工涨工资,总裁1000,经理800,其他400

 1 --给员工涨工资,总裁1000,经理800,其他400
 2 set SERVEROUTPUT ON
 3 
 4 declare 
 5     --定义光标给哪些员工涨工资
 6     --alter table "SCOTT"."EMP" rename column "JOB" to "EMPJOB"
 7     cursor cemp is select empno,empjob from emp;
 8     pempno emp.empno%type;
 9     pjob   emp.empjob%type;
10 begin
11     rollback;
12     --打开光标
13     open cemp;
14     
15     loop
16     --取出一个员工
17     fetch cemp into pempno,pjob;
18     exit when cemp%notfound;
19     
20     --判断员工职位
21     if pjob = 'PRESENT' then update emp set sal=sal+1000 where empno=pempno;
22     elsif pjob = 'MANAGER' then update emp set sal=sal+800 where empno=pempno;
23     else update emp set sal=sal+400 where empno=pempno;
24     end if;
25     
26     end loop;
27     
28     --关闭光标
29     close cemp;
30     
31     commit;
32     dbms_output.put_line('涨工资完成');
33 end;
34 /

涨工资之前:


涨工资之后:

猜你喜欢

转载自www.cnblogs.com/CPU-Easy/p/10897609.html