Полагаю, что-то вроде этого.
create or replace procedure p_insert is
begin
-- all your insert statements go in here
insert into temp1 (col1, col2, ...)
select a.col1, b.col2, ...
from a join b on a.id = b.id
where ...;
insert into temp2 (col1, col3, ...)
select ...
from temp1
where ...;
etc.
insert into final_table (col1, col2, col3, ...)
select ...
from temp3;
end;