我用单独的 select orderlist_ordernr.nextval from dual; 能擦到序列值。用下面的函数编译器告述我说序列不存在。为升么?create or replace function hr.get_order_ordernr(i out number)
return number
 is 
  begin
select orderlist_ordernr.nextval into i from dual;
 return i;
end;

解决方案 »

  1.   

    select hr.orderlist_ordernr.nextval from dual也能取到值吗?
      

  2.   

    看看你的序列是这样创建的:create sequence  orderlist_ordernr …… 
    还是这样创建的,不同表空间,不一样的
    create sequence  hr.orderlist_ordernr ……
      

  3.   

    在hr.get_order_ordernr的函数体里使用orderlist_ordernr.nextval实际上取的是hr.orderlist_ordernr.nextval