sequences.nextval 序列下一个值
sequences.currval 序列当前值
可以把序列作为一个值来用,如:
insert into table values(sequences.nextval);

解决方案 »

  1.   

    我想把SEQUENCE。NEXTVAL与单位、日期做一个算法后形成一个值,这种方式在数据库中如何实现。而且在引用SEQUENCE。NEXTVAL时,最好只引用一次,如何引用,如何取得返回值
      

  2.   

    假设seq为一序列
    有下面几种用法
    1.只取序列号
    long seqvalue
    select seq.nextval into :seqvalue from dual;
    2.在插入表时使用
    insert into 某表(字段1,字段2......)
    values(seq.nextval,......);

    insert into 某表(字段1,字段2......)
    select seq.nextval,......
    from 另一表
    where ......;
      

  3.   

    这两种方法,表中有几条记录将引用几次,数值增大许多;加WHERE条件限制返回唯一记录,方法不是很理想。有没有其它更好的办法
      

  4.   

    可用1中的方法,只取了一次,dual不会有多条记录的,试一下就知道
      

  5.   

    用select seq.nextval into :seqvalue from dual;
    然后对seqvalue这个变量怎么处理都看你的了
    最后用insert into table value (处理后的变量)
    即可
    用seq只是用来避免并发性的一种办法。