select PTL_INFO_ID.currval from dual;orselect INFO_ID from PTL_INFO where rowid=(select max(rowid) from PTL_INFO);

解决方案 »

  1.   

    select INFO_ID fro ptl_info where rowid=max(rowid)
      

  2.   

    SORRY
    应该 是
    select INFO_ID fro ptl_info where rowid=(select max(rowid) from ptl_info where )
      

  3.   

    select INFO_ID fro ptl_info where rowid=(select max(rowid) from ptl_info )
      

  4.   

    comcn(大XX)还是有点小问题啊:)   “fro”
      

  5.   

    select PTL_INFO_ID.currVAL from dual就可以了.
      

  6.   

    最好用select INFO_ID from PTL_INFO where rowid=(select max(rowid) from PTL_INFO);因为用select PTL_INFO_ID.currval from dual;的话,当多用户操作时,有可能别人或其它进程会使PTL_INFO_ID.currval 的值发生变化
      

  7.   

    建议用
    select INFO_ID from PTL_INFO where rowid=(select max(rowid) from PTL_INFO);
    采用
    select PTL_INFO_ID.currVAL from dual的时候,如果你取过一个值后,就可能已经修改了PTL_INFO_ID.currVAL当前值,而不是刚插入的INFO_ID。
    其实
    做好的做法是,你先取出PTL_INFO_ID.NEXTVAL的值,然后,再提交保存!
      

  8.   

    同我遇到的问题一样,不过我已经找到办法了.1. select PTL_INFO_ID.nextval from dual.
       这时,该ID会丢失 ( * 这是ORACLE序列的特性).2.将该ID 赋给变量.
    3.INSERT 变量值. 问题解决.     :)
      

  9.   

    如果是在同一个session里(即同一个连接中)用
    select PTL_INFO_ID.currval from dual;最合适,他取到的就是这个session里最近一次被使用的ID值
    其他的session(其他的连接)使用PTL_INFO_ID.NEXTVAL不会影响这个session里 PTL_INFO_ID.currval的值,只有本session使用了PTL_INFO_ID.NEXTVAL才会改变该session中PTL_INFO_ID.currval的值
    不信你可以自己试
      

  10.   

    支持  hqskoala(从兴趣到工作) 我刚测试过了,nextval 是全局的,而 Currval 不会受到影响。
    例子如下:-- Oracle9i for Linux命令行一:SQL> SELECT seq_1.Currval FROM DUAL;   CURRVAL
    ----------
            26SQL> SELECT seq_1.nextval FROM DUAL;   NEXTVAL
    ----------
            28SQL> SELECT seq_1.Currval FROM DUAL;   CURRVAL
    ----------
            28SQL> 命令行二:SQL> SELECT  seq_1.currval from dual;   CURRVAL
    ----------
            27SQL> SELECT  seq_1.nextval from dual;   NEXTVAL
    ----------
            29SQL> SELECT  seq_1.currval from dual;   CURRVAL
    ----------
            29SQL> 
    另外:
    SQL> SELECT seq_1.nextval,seq_1.currval FROM DUAL;   NEXTVAL    CURRVAL
    ---------- ----------
            30         30SQL> 
      

  11.   


    以前我也碰到这样的问题,都是按照  aran11(阿然)  的方法做的呵呵
      

  12.   

    不知道你是否使用pl/sql,在程序中,可以拥pl/sql语句的return语句
    insert into table_name(col1,
                           col2,.....)
                values(val1,
                       val2,......)
                returning val1,var2..... into var1,var2....