English version (when available)
create table TA(a int, b int, primary key(a)); create table TB(c int, d int, primary key(c), foreign key (d) references TA(a) on delete cascade on update cascade); create table TC(e int, f int, primary key(e), foreign key (f) references TB(c) on delete cascade on update cascade);
insert into TA values (1,10); insert into TA values (2,20); insert into TA values (3,30); insert into TB values (100,1); insert into TB values (200,1); insert into TB values (300,2); insert into TB values (400,NULL); insert into TC values (1000,100); insert into TC values (2000,100); insert into TC values (3000,NULL);
delete from TA where a = 2;
update TA set a=15 where a = 1;
delete from TC where e=2000;
delete from TA where a=3;
delete from TB where c=100;
delete from TC where e=3000;
delete from TB where c=400;
delete from TA where a=15;
drop table TC; drop table TB; drop table TA; create table TA(a int, b int, primary key(a)); create table TB(c int, d int, primary key(c), foreign key (d) references TA(a) on delete set null on update set null); create table TC(e int, f int, primary key(e), foreign key (f) references TB(c) on delete set null on update set null);
insert into TA values (1,10); insert into TA values (2,20); insert into TA values (3,30); insert into TB values (100,1); insert into TB values (200,1); insert into TB values (300,2); insert into TB values (400,NULL); insert into TC values (1000,100); insert into TC values (2000,100); insert into TC values (3000,NULL);
delete from TA where a = 2; update TA set a=15 where a = 1; update TB set c=150 where c = 100;
drop table TC; drop table TB; drop table TA; create table TA(a int, b int, primary key(a)); create table TB(c int, d int, primary key(c), foreign key (d) references TA(a) on delete cascade); create table TC(e int, f int, primary key(e), foreign key (f) references TB(c) on update set null); insert into TA values (1,10); insert into TA values (2,20); insert into TA values (3,30); insert into TB values (100,1); insert into TB values (200,1); insert into TB values (300,2); insert into TB values (400,NULL); insert into TC values (1000,100); insert into TC values (2000,100); insert into TC values (3000,NULL);
delete from TA where a=1;
delete from TA where a=2;
update TB set c=170 where c=100;
delete from TA where a=1;