能不能具体一点,我对oracle不是很熟。

解决方案 »

  1.   

    建序列,
    create sequence 序列名 
    increment by 1 
    start with 1 
    maxvalue 999999999 
    cycle;当向表中插入数据时,SQL语句写法如下:SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
    或都用做一个表,产生一个流水帐号,
    我们都用第二种
      

  2.   

    用序列应该来说不会产生并发问题,只有用max+1时会产生并发问题(特指此字段用作ID字段时)
      

  3.   

    创建sequence (test)
    select test.nextval from dual;
    你就知道怎么做了
      

  4.   

    也可以自己控制,写个函数不就行了。—————————————————————————————————
    ┏━★━━◆━━★━┓ 
    ♂欢|◢CSDN◣|使♂        ▲自由保存帖子,浏览,关注检测
    ┃迎|◥论坛助手◤|用┃        ▲完善的CSDN客户端工具
    ┗━☆━━◇━━━☆┛       ▲自动添加签名......让你更快,更爽,更方便地上CSDN...
    http://www.csdn.net/expert/topic/573/573604.xml
    http://www.chinaok.net/csdn/csdn.zip
      

  5.   

    按要求创建序列
    再创建一个触发器(跟要增长ID的表格相关)使每次插入新记录时用前面创建的序列来给给所设计的自动增长ID字段赋值
    然后呢,
    需要注意的是序列中no cach的设置,如果想要保证所有序列绝对按序增长,不浪费某些数值的话,一定要设置no cach,这是个折衰的办法,会少许影响多用户时的数据插入效率.不过,经过实验,一点儿都不明显.反而,对要求序列值按规矩增长的场合反而一定要设置no cach