当旧数据导入新的数据表后,有一个字段是sequence生成的,当我再创建一条记录后,sequence从0开始了。因为这样的表有很多,不可能一个一个sequence开始值去改成旧数据的最大值。各位什么好方法吗?

解决方案 »

  1.   

    INSERT INTO tablename VALUES
    (sequence1.nextval, '1', '2',3, SYSDATE);
    nextval:会增加sequence的值,然后返回 sequence 值
      

  2.   

    sequence也导过去如果表对应的sequence有规律的话,可以用存储过程改成对应的最大值
      

  3.   

    重建sequence,把start with 修改成导入后的最大值!理论上应该可以解决
      

  4.   

    先看看旧数据中的最大id是多少,然后把sequence的start with改成id+1
    这样倒旧数据就不会有问题了。
      

  5.   

    楼主不想改sequence,那导的时候把sequence值也一并倒过来,或者写个脚本,统计更改sequece的值(还是挺麻烦的),没想到好办法:(