none
分区表与普通表切换数据的问题? RRS feed

  • 问题

  • 分区表test中数据可以切换到普通表test01中,但反向切换时总提示以下错误:

    ALTER TABLE SWITCH statement failed. Check constraints or partition function of source table 'test01' allows values that are not allowed by check constraints or partition function on target table 'test'.

    例如: 分区表test分了4个区(分区函数使用LEFT  Values,分区字段ID), 其边界值为: 1000,2000,3000

    使用alter table test switch partition 4 to test01 时正常

    但执行alter table test01 switch  to test  partition 4时总提示上面的错误

    说明:已经在普通表test01上建立check约束:alter table test01 add constraint ck_test   check (id > 3000)

    2010年4月10日 14:08

全部回复

  • Did you double check values of id column in test01? All are bigger than 3000?
    2010年4月10日 16:24
  • 检查过了,数据没问题

    test表分了4个区,各区数据范围:

    1:   〈=1000

    2:  〉1000  and  〈= 2000

    3:  >2000  and   〈= 3000

    4:     〉3000

    已将第4个区的数据正确切换到了普通表test01中(数据都是>3000)

    2010年4月11日 1:47