表中设置了一个自增字段REC_ID?怎么设的?
是序列吧。
http://expert.csdn.net/Expert/topic/1153/1153511.xml?temp=.6152307

解决方案 »

  1.   

    oracle无自增字段,用序列把!
      

  2.   

    我是在插入数据的时候直接使用了insert into student(REC_ID,……)values(student.nextval,……);
    看来我的做法是错的,我没有创建序列,不知道怎么创建,才能使REC_ID,会自动增大!谢谢!
      

  3.   

    CREATE  SEQUENCE seq_name START WITH 1 INCREMENT BY 1 NOCYCLE;
    insert into table_name( field_name,field2 )values( seq_name.nextval,value2); ------field_name自动加一
      

  4.   

    序列在数据库中创建,和存储过程,表一样。
    可在存储过程中用序列.nextval来引用。
      

  5.   

    孩子,其实很简单的东西,何必要别人贴完整的东西呢。
    SEQUENCE从建立到使用,就两条语句,加上DROP(DROP总会用的)和ALTER(基本不用)也不过4条。
    我这么大把年纪了,完全自学也不过3小时就会用了。
    你还是应该自己看看书,这样会很系统,比如SEQUENCE在使用时有很多限制:
    (好像有一条是不能嵌套在INSERT中),问别人,或者是看别人的代码是学不来的。
    反倒是存储过程,我觉得很难学,东西很多的,这个你都会了,还怕学不会SEQUENCE吗?
    年纪大了,话比较多,见谅。
      

  6.   

    还有,斑竹推荐的
    http://expert.csdn.net/Expert/topic/1153/1153511.xml?temp=.6152307
    你可以好好看看,我觉得很好,比我厉害多了。
    嗨,老啦...
    长江后浪推前浪,江山代有才人出...
      

  7.   

    Insert into aa (Oid,tname) values(mySequence.NextVal,'wlm')
    mySequence 是自己创建的 序列
      

  8.   

    1、 desc test;
    Name Type    Nullable Default Comments 
    ---- ------- -------- ------- -------- 
    AA   NUMBER  Y                         
    BB   CHAR(2) Y                         
    2、create sequence test_seq
    minvalue 1
    maxvalue 100
    start with 1
    increment by 1
    cache 20;
    3、SQL> insert into test values (test_seq.nextval,test_seq.nextval);1 row insertedSQL> insert into test values (test_seq.nextval,test_seq.nextval);1 row insertedSQL> insert into test values (test_seq.nextval,test_seq.nextval);1 row insertedSQL> insert into test values (test_seq.nextval,test_seq.nextval);
    1 row inserted
    4、SQL> commit; 
    5、SQL> select * from test;        AA BB
    ---------- --
             1 1
             2 2
             3 3
             4 4