问答详情
源自:3-3 实例:给员工涨工资

我这个哪里错了,为啥报错


SET serveroutput ON DECLARE--定义光标代表给哪些员工涨工资
-- alter table emp rename column "jop" to empjop;
cursor cemp IS SELECT
empno,
jop
FROM
 emp;
pempno emp.empno % TYPE;
pjop emp.jop % TYPE;
BEGIN--打开光标
 open cemp;
 loop--取出一个员工
 FETCH cemp INTO pempno,
 pjop;
 exit
 WHEN cemp % notfound;
--判断员工的职位
 IF
  pjop = 'PRESIDENT' THEN
   UPDATE emp
   SET sal = sal + 1000
  WHERE
   empno = pempno;
  
  elseif pjop = 'MANAGER' THEN
   UPDATE emp
   SET sal = sal + 800
   WHERE
    empno = pempno;
   ELSE UPDATE emp
   SET sal = sal + 400
   WHERE
    empno = pempno;
   
  END IF;
  
 END loop;
--关闭光标
close cemp;
END;


http://img2.mukewang.com/5e870f160001b3d010810451.jpg

提问者:慕粉3995511 2020-04-03 18:25

个回答

  • 慕函数9361289
    2020-05-05 20:56:45

    elsif写错了