declare immediateSQL
lv_sql varchar2(1000);
lv_branch varchar2(8);
begin
--1
lv_branch := '100';
lv_sql := 'insert into t_emp(id, name)'
|| 'select id, name from tmp_emp where branch = ''' || lv_branch || '''';
execute immediate lv_sql;
--2
execute immediate '
insert into t_emp(id, name)
select id, name from tmp_emp where branch = :branch
'
using lv_branch;
end;