If the child tables are static then you can generate a scripts to enable and disable them all using a query like this:
select 'alter table ' || fk.owner ||'.'|| fk.table_name
||' disable constraint '|| fk.constraint_name ||';'
from all_constraints fk
join all_constraints pk
on pk.owner = fk.r_owner
and pk.constraint_name = fk.r_constraint_name
where fk.constraint_type = 'R'
and fk.status = 'ENABLED'
and pk.constraint_type = 'P'
and pk.table_name = '<your parent table>;
That gives a list of alter table
commands that can be run before your delete/insert, and you can do the same thing to create a script to re-enable them all.
If you want to do it on the fly, which is more likely given that you want to do this from a stored procedure, you can do the same thing in a cursor and execute it as dynamic SQL:
begin
for r in (
select 'alter table ' || fk.owner ||'.'|| fk.table_name
||' disable constraint '|| fk.constraint_name as stmt
from all_constraints fk
join all_constraints pk
on pk.owner = fk.r_owner
and pk.constraint_name = fk.r_constraint_name
where fk.constraint_type = 'R'
and fk.status = 'ENABLED'
and pk.constraint_type = 'P'
and pk.table_name = 'T42'
) loop
execute immediate r.stmt;
end loop;
end;
/
SQL Fiddle demo of both options.