没有, 
在ORACLE中,用序列替代。
建好序列 SEQ_NAME.
如 INSERT INTO TAB_NAME (ID) VALUES (SEQ_NAME.NEXTVALUES)
其中NEXTVALUES象常量如1,2,3 一样的用.

解决方案 »

  1.   

    我建了一个SEQ_TEST
    然后建立一张表 CREATE TABLE TEST1(TEST NUMBER(10,0));
    然后 INSERT INTO TEST1(TEST) VALUES(SEQ_TEST.NEXTVALUES);
    然后sql*pus里面
     
     ERROR 位于第1行:
     ORA-00984: 列在此处不允许
      

  2.   


    ORA-00984 column not allowed here Cause: A column name was used in an expression where it is not permitted, such as in the VALUES clause of an INSERT statement. 
    Action: Check the syntax of the statement and use column names only where appropriate. 不好意思,写错啦 
    应是SEQ_TEST.NEXTVAL.
      

  3.   

    恩,谢谢了。我也查了一下,看到 nextval 了 。给分
      

  4.   

    CURRVAL  returns the current value of the sequence. 
    NEXTVAL increments the sequence and returns the new value.
      

  5.   

    分也就是这样, 
    感觉这里不是一个问ORACLE问题的好地方。
    以后可能不会太来这里啦。