So you want to cascade a delete down multiple levels of children? So you can destroy your database with a single delete? ;)
If so, yes, yes you can.
Just keep adding the "on delete cascade" clause to the foreign keys.
Oracle doesn't have an "on update cascade" clause. Are you referring to "on delete set null"?
Anyway, here's the proof:
create table t1 (
x int not null primary key
);
create table t2 (
x int not null primary key references t1(x) on delete cascade
);
create table t3 (
x int not null references t2(x) on delete cascade,
y int
);
create table t4 (
x int references t2(x) on delete set null,
y int
);
insert into t1 values (1);
insert into t2 values (1);
insert into t3 values (1, 1);
insert into t4 values (1, 1);
commit;
delete t1;
select count(*) from t2;
COUNT(*)
0
select count(*) from t3;
COUNT(*)
0
select count(*) from t4;
COUNT(*)
1
select * from t4;
X Y
1
Use this power wisely! Like I said, this provides an easy way to completely wipe your database with a single command.
And in 12c, you can cascade truncates too! Not only is this like to be quicker, you can't rollback!