【发布时间】:2015-08-30 02:20:53
【问题描述】:
每当我尝试删除表或创建表时,它都会显示以下错误:
DROP TABLE SUBURB;
DROP TABLE STOCKITEM;
DROP TABLE MANUFACTURER;
DROP TABLE WAREHOUSE;
DROP TABLE CITY;
DROP TABLE STATE;
第 1 行出错:ORA-02449:引用表中的唯一/主键 通过外键
CREATE TABLE STATE (
statecode varchar(3)
,statename varchar(30)
,population number(8)
,primary key(statecode)
);
第 1 行错误:ORA-00955:名称已被现有对象使用
谁能解释为什么会这样?
【问题讨论】:
-
您必须按正确的顺序放置。如果
TABLEA与TABLEB有外键关系,则不能删除TABLEB,因为它违反了TABLEA中的外键关系。您必须先删除TABLEA,然后才能删除TABLEB。 -
尝试一个一个地执行 drop,这样你就可以看到是哪一个导致了错误。
-
你也可以使用 DROP TABLE STATE CASCADE CONSTRAINTS;但请注意,它将删除链接表状态的外键约束。
-
我厌倦了按以下顺序删除所有表,但它无法运行
-
我们不能没有级联约束@Vini.g.fer
标签: sql oracle foreign-keys