无法删除外键(Oracle)
我正在尝试删除表的所有外键。首先,我使用meta.getExportedKeysnull、null、table获取这些键的所有名称;和rs.getStringFK_名称 但当我尝试使用以下命令删除此密钥时:无法删除外键(Oracle),oracle,jdbc,foreign-keys,constraints,Oracle,Jdbc,Foreign Keys,Constraints,我正在尝试删除表的所有外键。首先,我使用meta.getExportedKeysnull、null、table获取这些键的所有名称;和rs.getStringFK_名称 但当我尝试使用以下命令删除此密钥时: ALTER TABLE tablename DROP CONSTRAINT fkname 它只适用于某些键。有时我会: ORA-02443: Cannot drop constraint - nonexistent constraint 但是外键肯定在那里。我做错了什么?你试过了吗 AL
ALTER TABLE tablename DROP CONSTRAINT fkname
它只适用于某些键。有时我会:
ORA-02443: Cannot drop constraint - nonexistent constraint
但是外键肯定在那里。我做错了什么?你试过了吗
ALTER TABLE tablename DROP CONSTRAINT "fkname";
相反
您可能已经以区分大小写的方式创建了约束,在这种情况下,您需要在删除约束名称时将其置于双引号中。下面是SQL*Plus中的一个示例会话:
SQL> create table test (a integer);
Table created.
SQL> alter table test add constraint "abcd" unique (a);
Table altered.
SQL> alter table test drop constraint abcd;
alter table test drop constraint abcd
*
ERROR at line 1:
ORA-02443: Cannot drop constraint - nonexistent constraint
SQL> alter table test drop constraint "abcd";
Table altered.
SQL>
你试过了吗
ALTER TABLE tablename DROP CONSTRAINT "fkname";
相反
您可能已经以区分大小写的方式创建了约束,在这种情况下,您需要在删除约束名称时将其置于双引号中。下面是SQL*Plus中的一个示例会话:
SQL> create table test (a integer);
Table created.
SQL> alter table test add constraint "abcd" unique (a);
Table altered.
SQL> alter table test drop constraint abcd;
alter table test drop constraint abcd
*
ERROR at line 1:
ORA-02443: Cannot drop constraint - nonexistent constraint
SQL> alter table test drop constraint "abcd";
Table altered.
SQL>
另一种可能性是拥有约束的表位于不同的模式中。例如,模式FRED包含表“A”和“B”,并且“B”上的约束指向Fredath拥有的表“A”。另一种可能性是拥有该约束的表位于不同的模式中。例如,模式FRED包含表“A”和“B”,并且“B”上的约束指向FREDA拥有的表“A”