在行 5 上开始执行命令时出错:
declare
cursor results is select empno,ejob from emp; --定义光标,保存结果
pno emp.empno%type;
pjob emp.ejob%type;
begin
rollback;
--打开光标,执行查询
open results;
--开始循环
loop
--从光标中取一条记录赋值给
fetch results into pno,pjob;
--退出循环条件
exit when results%notfound;
--判断职位,执行加薪
if pjob ='PRESIDENT' then update emp set sal = sal+1000 where empno = pno;
elsif pjob ='MANAGER' then update emp set sal = sal+800 where empno = pno;
else update emp set sal = sal+400 where empno = pno;
end if; --关闭循环
end loop; --关闭循环
close results; --关闭光标
commit; --提交
dbms_output.put_line('涨工资完成');
end;
错误报告:
ORA-06550: 第 17 行, 第 25 列:
PLS-00103: 出现符号 ""在需要下列之一时:
* & - + / at mod remainder rem
then <an exponent (**)> and or || multiset
符号 "" 被忽略。
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
------解决方案--------------------
类型确定是对的吗