Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql ORACLE-启用唯一约束问题(相同的约束名称,多个架构)_Sql_Oracle_Unique Constraint_Alter Table - Fatal编程技术网

Sql ORACLE-启用唯一约束问题(相同的约束名称,多个架构)

Sql ORACLE-启用唯一约束问题(相同的约束名称,多个架构),sql,oracle,unique-constraint,alter-table,Sql,Oracle,Unique Constraint,Alter Table,我在尝试重新启用唯一约束时遇到问题。我尝试使用以下命令: 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_CONST

我在尝试重新启用唯一约束时遇到问题。我尝试使用以下命令:

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\u 1.TEST\u UNIQUE\u CONSTRAINT1,但它会引发语法错误(sql命令结尾不正确)

检查数据的唯一性

select unique_column_in_test_table1, count(unique_column_in_test_table1) from TESTSCHEMA_1.TEST_TABLE1
group by unique_column_in_test_table1
having count(unique_column_in_test_table1) > 1

如果此查询返回任何行,则必须将其处理/更正为唯一。

是否要删除现有的重复项?是否检查重复项?错误消息似乎在告诉您在dbms可以应用唯一约束之前解析重复的键。至于您的最后一个问题,您已经通过将
TESTSCHEMA_1
放在表名前面来指定架构。约束将与其父表位于同一架构中,因此您无需(也不能)再次指定它。我知道,当我收到错误时,我认为问题是因为多个架构具有相同名称的唯一约束,但它位于约束内的数据中。谢谢:)