当您删除表的父行时,是否有一种方法可以强制删除所有依赖行(子行)。
我有一个具有太多引用完整性的表。我想知道在oracle中实现这一点的简单方法是什么。
感谢您的支持。
您可以声明级联删除的外键约束,这样当父行被删除时,子行会自动删除。
SQL> create table parent (
2 parent_key number primary key
3 );
Table created.
SQL> create table child (
2 child_key number primary key,
3 parent_key number,
4 constraint fk_child_parent foreign key( parent_key )
5 references parent( parent_key )
6 on delete cascade
7 );
Table created.
SQL> insert into parent values( 1 );
1 row created.
SQL> insert into child values( 10, 1 );
1 row created.
SQL> commit;
Commit complete.
SQL> delete from parent where parent_key = 1;
1 row deleted.
SQL> select * from child;
no rows selected