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

自定义函数编译总是过不去,请大虾帮忙看看
如下面的函数,编译的时候总是提示错误.
我是plsql新手,试了很多遍也改不正确.
请高手指出我的语法错误,谢谢

create or replace function xproxy_id_server_next(key in varchar2) return number is
  ret_val xproxy_id_server_next.curid%type;
  cur number;
  success number;
begin
  cur:=0;
  success:=0;
  WHILE(success <= 0)
  LOOP   
    begin 
      select curid into cur from xproxy_id_server_next where idxname = key for update;
      update xproxy_id_server set curid=cur+500 where idxname=key and curid=cur;
      success:=1;
    exception 
      when no_data_found then
        begin 
          insert into xproxy_id_server_next (idxname,curid) values(key,1);
        exception when DUP_VAL_ON_INDEX then
          continue;
        end;
    end;
  END LOOP;
  ret_val:=cur;
  return ret_val;
end;
/

------解决方案--------------------

粗心大意啊。。
------解决方案--------------------
引用:
语法没错..是自己写错了表名,xproxy_id_server_next?应该为xproxy_id_server_.
来个人接分我结贴了..


多加细心啊!