Mr. David 专栏

整理工作、学习中遇到的问题!

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 行。

阅读更多
个人分类: oracle/mysql/sybase
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭