假设A为主表(既含有某一主键的表),B为从表(即引用了A的主键作为外键)。则当删除A表时,如不特殊说明,则 drop table A 系统会出现如下错误警告的信息而不会允许执行。
ERROR at line 1: ORA-02449: unique/primary keys in table referenced by foreign keys
此时必须用,drop table A cascade constraints;
之后,再查询约束:
SQL> select CONSTRAINT_NAME,TABLE_NAME from dba_constraints where owner = 'SYS' and TABLE_NAME = 'B' ;
no rows selected
利用Drop table cascade constraints可以刪除从表的constraint,从而可实现drop table A。原属于B的foreign key constraint已经跟随着被删除掉了,但是,储存在table B中的记录不会被删除,也就是说Drop table cascade constraints 时不会影响到存储于objec里的row data。
延伸阅读:
Oracle的Drop与purge Table的区别;Detele from table 与Truncate table 的区别。
本文详细解释了在Oracle数据库中如何正确使用DROP TABLE命令来删除带有外键约束的表,并探讨了CASCADE CONSTRAINTS选项的作用及影响。
5574

被折叠的 条评论
为什么被折叠?



