日期:2014-05-17  浏览次数:20814 次

PLSQL报错,怎么回事?
在行 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:




------解决方案--------------------
类型确定是对的吗