建个更新触发器:
每次修改数据都要选择该触发器;结束后在SELECT 一下这个序列;
如果你的再详细点可以帮你写一下!!

解决方案 »

  1.   

    declare
    v_count number;
    begin
    select test_seq.nextval into v_count from dual;
    while v_count < 10000 loop
    select test_seq.nextval into v_count from dual;
    end loop;
    end
      

  2.   

    这是我测试用的代码,你改就可以了,将10000修改成你在的数字-1就行了我当时是想重用这个sequence的,将它设置为cycle,然后每天初始化一次,重置为1不过你的不用这么复杂,其实我感觉你应该直接用sequence就得了
    insert into t1(f1,f2) values(test_seq.nextval, 'abcd')
    这样不需要你去控制sequence的值了
      

  3.   

    可能是我没说明白,我最关心的是有没有这样的语句可以改变SEQUENCE的当前值,比如:
    SET test_seq.currentval=10000,如果有,我就不用select那么多次了,因为select慢
      

  4.   

    可以把以前的sequence drop后,再重新建一个相同名称的(重新设定初始值)
      

  5.   

    要说DROP我可不敢,因为我不是DBA,可能有别人也会用它,看来我除了循环10000次没别的选择了?我就是嫌select太慢,因为其它部分都是pro*c的
      

  6.   

    ALTER SEQUENCE seq_name INCREMENT BY 步长;    --步长+当前值=想要值
    select seq_name.nextval from dual;  --得到想要值
    alter SEQUENCE seq_name INCREMENT BY 1;
      

  7.   

    用Start with ***;就可以了