Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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

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 无法删除外键和主键_Sql_Oracle - Fatal编程技术网

Sql 无法删除外键和主键

Sql 无法删除外键和主键,sql,oracle,Sql,Oracle,无法删除主键和外键,这是一个简单的表,但我不知道为什么会出现此错误 create table student ( s_ID int , S_NAMe varchar2 (10), S_major varchar2(20), D_ID number (10) , Constraint PK_s_ID primary key (s_ID), constraint FK_D_ID foreign key (D_ID) references dep (D

无法删除主键和外键,这是一个简单的表,但我不知道为什么会出现此错误

create table student (
    s_ID int ,
    S_NAMe varchar2 (10),
    S_major varchar2(20),
    D_ID number (10) ,
    Constraint PK_s_ID primary key (s_ID), 
    constraint FK_D_ID foreign key (D_ID) references dep (D_ID) );

    ALTER TABLE student DROP CONSTRAINT PK_s_ID cascade;
    alter table student drop constraint FK_D_ID;

    ERROR at line 1:
    ORA-02443: Cannot drop constraint  - nonexistent constraint

您的SQL命令看起来是正确的。可以使用以下命令确保约束存在

SELECT * FROM user_cons_columns WHERE table_name = 'STUDENT'

如果它不返回任何结果,则表示您没有创建约束或已删除约束。您可能多次尝试重新运行同一alter命令。

请确保约束存在。从user_cons_列中选择*,其中table_name='student';这是我第一次使用这个命令,一旦我运行它,我就会得到这些结果所有者-约束\u名称-表\u名称-列\u名称-位置这是什么意思!这意味着没有创建约束。或者你已经删除了一次,并试图再次删除。如果约束存在,我会在结果中找到它的名称!将立即尝试在执行删除之前,向我们显示相同约束的存在。尝试使用约束创建新表,但仍然没有从用户列中选择约束名称的约束,其中表名称='student'不知道为什么会出现此问题以及如何修复it@osama,ronin指出了SQL中的一个输入错误,在这张表上选择时,您需要始终使用大写字母,我相应地更新了答案,明白了,非常感谢您的帮助