【发布时间】:2015-03-12 20:03:04
【问题描述】:
我在尝试重新启用唯一约束时遇到问题。我尝试使用这个命令:
alter table TESTSCHEMA_1.TEST_TABLE1 enable constraint TEST_UNIQUE_CONSTRAINT1;
问题是我有多个模式(比如:TESTSCHEMA_1 到 _5),它们都有同名的表 TEST_TABLE1,这些表也有一个同名的唯一约束 TEST_UNIQUE_CONSTRAINT1。
结果我得到这个错误:
ORA-02299:无法验证 (TESTSCHEMA_1.TEST_UNIQUE_CONSTRAINT1) - 发现重复键
我怎样才能明确指出我想要启用约束的架构?我尝试过使用 TESTSCHEMA_1.TEST_UNIQUE_CONSTRAINT1,但它会引发语法错误(非正确结束的 sql 命令)
【问题讨论】:
-
要删除现有的重复项吗?
-
您检查过重复的键吗?错误消息似乎告诉您在 dbms 可以应用唯一约束之前解决重复键。
-
至于您的最后一个问题,您已经通过将
TESTSCHEMA_1放在表名前面来指定架构。约束将与其父表位于相同的架构中,因此您不需要(也不能)再次指定它。
标签: sql oracle unique-constraint alter-table