序列是一个数据库对象,可以产生等量间隔的整数值。
创建序列
CREATE SEQUENCE MY_SEQ
INCREMENT BY 1
START WITH 100
NOMAXVALUE
NOCYCLE
CACHE 10;只有在NEXTVAL被前一个事务或者当前事务引用后,才可以使用CURRVAL。在程序中一上来就使用CURRVAL是错误的。
NEXTVAL自动提交。
SELECT MY_SEQ.NEXTVAL FROM DUAL;
SELECT MY_SEQ.CURRVAL FROM DUAL;
删除序列
DROP SEQUENCE MY_SEQ;
取出系统时间
select sysdate from dual;

解决方案 »

  1.   

    建立一个最小为1,最大为999999999的一个序列号会自动循环的序列create sequence 序列名 
    increment by 1 
    start with 1 
    maxvalue 999999999 
    cycle;当向表中插入数据时,SQL语句写法如下:SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
      

  2.   

    http://expert.csdn.net/Expert/topic/1188/1188814.xml?temp=.9224359
      

  3.   

    不过提醒楼上的:如果中间有其他事务,这个序列将是不连续的。 maohaisheng() 仁兄start with 100 好像不行,要从1开始吧。 start1127(start1127) 的cycle虽然说maxvalue 999999999 值很大了,但习惯好像不是很好,应该想maohaisheng() 仁兄一样nocycle