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

急 存储过程出现错误:警告创建的过程带有编译错误
cerate or replace procedure p
is 
  cursor c is
  select * from emp2 for update;
begin
  for v_emp in c loop
  if(v_temp.deptno = 10) then
  update emp2 set sal =sal +10 where current of c;
  elsif(v_temp.deptno = 20) then
update emp2 set sal =sal +20 where current of c;
  else
  update emp2 set sal =sal +50 where current of c;
  end if;
  end loop;
  commit;
end;


------解决方案--------------------
SQL code
cerate or replace procedure p
is  
  cursor c is
  select * from emp2 for update;
begin
  for v_emp in c loop
  if(v_emp.deptno = 10) then
  update emp2 set sal =sal +10 where current of c;
  elsif(v_emp.deptno = 20) then
update emp2 set sal =sal +20 where current of c;
  else
  update emp2 set sal =sal +50 where current of c;
  end if;
  end loop;
  commit;
end;

------解决方案--------------------
试过了可以 你把变量都写对了 别一会v_emp 一会v_temp