加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

Oracle – 删除子行

发布时间:2021-03-31 10:42:03 所属栏目:站长百科 来源:网络整理
导读:有没有步伐在删除表的父行时逼迫删除全部相干行(子行). 我的表有太多的参照完备性.我想知道在oracle中实现这个方针的简朴要领是什么. 我感激您的支持. 办理要领 您可以声明级联删除的外键束缚,以便在删除父行时自动删除子行. SQL create table parent ( 2 pa

有没有步伐在删除表的父行时逼迫删除全部相干行(子行).

我的表有太多的参照完备性.我想知道在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

我小我私人不是这种级联删除的粉丝 – 我甘愿看到对子表的删除作为从父历程中删除的进程的一部门,以便措施的流程都在一个处所.级联外键就像触发器,由于它们可以通过添加对付通过代码举办关照和跟踪而难以阅读的操纵来严峻地使措施流伟大化.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读