Preparation of Test Data
test=#
create table employees (id integer, name varchar, department_id integer);
test=#
create table departments (id int, department_name varchar);
test=#
ALTER TABLE DEPARTMENTS
ADD CONSTRAINT DEPT_PK
PRIMARY KEY (ID);
test=#
ALTER TABLE EMPLOYEES
ADD CONSTRAINT EMP_DEPT_FK
FOREIGN KEY (DEPARTMENT_ID)
REFERENCES DEPARTMENTS(ID);
test=#
insert into departments
values (1,'IT');
test=#
insert into departments
values (2,'Sales');
test=#
insert into departments
values (3,'Marketing');
test=#
insert into employees
values (1,'John',1);
test=#
insert into employees
values (2,'Alex',1);
test=#
insert into employees
values (3,'Guru',2);
test=#
insert into employees
values (4,'Maximus',3);
test=#
commit;
Data Check
-- select all rows of parent table
test=#
select * from departments;
-- select all rows of child table
test=#
select * from employees;
Action
-- by using truncate table cascade, parent table and child table data will be removed.
test=#
truncate table departments cascade;
Last Data Check
-- select all rows of parent table
test=#
select * from departments;
-- select all rows of child table
test=#
select * from employees;
Info: In Oracle 12c, you are able to use "cascade" clause with "truncate table" statement as well.