分享

DELETE CASCADE级联删除

 moonboat 2009-04-26

DELETE CASCADE级联删除

1.如果linecenter(主表)中的一个lid被删除了,那么引用该lid的从表中的所有记录也被删除。

通常称为级联删除

例如:

SQL> create table test (id number(7) not null, name varchar2(20),
  2  constraint pk_test primary key (id));

表已创建。

SQL> create table test1 (id number(7) not null, comments varchar(400),
  2  constraint fk_test1 foreign key (id) references test (id));

表已创建。

SQL> create table test2 (id number(7) not null, commects varchar(400),
  2  constraint fk_test2 foreign key (id) references test (id) on delete cascade);

表已创建。

SQL> insert into test values (1, 'abc');

已创建 1 行。

SQL> insert into test1 values (1, 'aaaaa');

已创建 1 行。

SQL> delete test;
delete test
*
ERROR 位于第 1 行:
ORA-02292: 违反完整约束条件 (YANGTK.FK_TEST1) - 已找到子记录日志


SQL> delete test1;

已删除 1 行。

SQL> delete test;

已删除 1 行。

SQL> insert into test values (1, 'abc');

已创建 1 行。

SQL> insert into test2 values (1, 'aaaaa');

已创建 1 行。

SQL> delete test;

已删除 1 行。

SQL> select * from test;

未选定行

SQL> select * from test2;

未选定行

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多