用oracle9 这么好的数据库

    CREATE SEQUENCE ID
    START WITH 1  //开始
    INCREMENT BY 1 //增量
使用时
insert into yourtable(id,...) values( id.nextval ,...)
如果你只要取到id的下一个值
select id.nextval from dual;

解决方案 »

  1.   

    可以用数据自带的功能就可以了,oracle是能自动处理事务问题的。
      

  2.   

    SEQUENCE 这种方法我知道,可是如果我保存失败怎么办?下次取出来的值就不连续了。
      

  3.   

    流水号非要连续吗?
    如果这样,也不是没有办法,
    在保存失败后,取id.currval,作为下一个id用,不过,这样可能会使问题复杂化,你要考虑2次以上的保存失败
    我用oracle做过一些项目,一般情况下,流水号只要顺序排列就可以了(因为它只在数据库内部使用)
    最后产生报表时,用一变量作序号就可以了