1.如果linecenter(主表)中的一個lid被刪除了,那么引用該lid的從表中的所有記錄也被刪除。
通常稱為級聯(lián)刪除
例如:
SQL> create table test (id number(7) not null, name varchar2(20),
2 constraint pk_test primary key (id));
表已創(chuàng)建。
SQL> create table test1 (id number(7) not null, comments varchar(400),
2 constraint fk_test1 foreign key (id) references test (id));
表已創(chuàng)建。
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);
表已創(chuàng)建。
SQL> insert into test values (1, 'abc');
已創(chuàng)建 1 行。
SQL> insert into test1 values (1, 'aaaaa');
已創(chuàng)建 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');
已創(chuàng)建 1 行。
SQL> insert into test2 values (1, 'aaaaa');
已創(chuàng)建 1 行。
SQL> delete test;
已刪除 1 行。
SQL> select * from test;
未選定行
SQL> select * from test2;
未選定行