Search

USING ON DELETE CASCADE



By using this clause you can remove the parent record even if childs exists.
Because when ever you remove parent record oracle automatically removes all its dependent records from child table, if this clause is present while creating foreign key constraint.

Ex:
      TABLE LEVEL

     SQL> create table emp(empno number(2), ename varchar(10), deptno number(2),
             primary key(empno), foreign key(deptno) references dept(deptno) on delete
             cascade);
      SQL> create table emp(empno number(2), ename varchar(10), deptno number(2),
             constraint pk primary key(empno), constraint fk foreign key(deptno) references
             dept(deptno) on delete cascade);
     
      ALTER LEVEL

      SQL> alter table emp add foreign key(deptno) references dept(deptno) on delete
             cascade;
                SQL> alter table emp add constraint fk foreign key(deptno) references dept(deptno) on
                     delete cascade;