如建了一个sequence,语句如下:
create sequence SEQ_test
increment by 1
start with 1;这时创建的sequence,是有cache的(默认是有的),CacheSize为20.Insert的时候,用SEQ_test.nextval当Insert 10条语句后,把这个数据库(A)导到另一个数据库(B),在另一个数据库(B)上做操作的时候,却每次都报违反唯一约束条件.声明一下:要insert的表只有一个ID为主键的.不知道为什么,请大家指点迷津

解决方案 »

  1.   

    看看你sequence的nextval 是多少,估计可能从头开始了
    你把sequence从10开始试试
      

  2.   

    因为数据库(B)的sequence还是从1开始的,当然重复了。
      

  3.   

    在B库上重建你的Sequence,A、B库的Sequnence的Nexval不一样吧
      

  4.   

    select * from user_sequences
    通过上面的语句查找出如下结果:  SEQUENCE_NAME    MIN_VALUE MAX_VALUE INCREMENT_BY   CYCLE_FLAG  ORDER_FLAG  CACHE_SIZE LAST_NUMBER
    SEQ_USEROPERATELOGS 1 1E27   1             N      N           20    41其中Last_number是nextval? currval ? 还是每次取20个里的最后一个(因为cache_size是20)??
      

  5.   

    数据库(B)的sequence的重新计算了!