declare
  p_acc    APEX_APPLICATION_GLOBAL.VC_ARR2 := APEX_UTIL.STRING_TO_TABLE(v('P25_ACCOUNTING'));
  p_res    APEX_APPLICATION_GLOBAL.VC_ARR2 := APEX_UTIL.STRING_TO_TABLE(v('P25_RESEARCH'));
  p_sal    APEX_APPLICATION_GLOBAL.VC_ARR2 := APEX_UTIL.STRING_TO_TABLE(v('P25_SALES'));
  p_fin    APEX_APPLICATION_GLOBAL.VC_ARR2 := APEX_UTIL.STRING_TO_TABLE(v('P25_FINANCE'));
begin
  for i in 1 ..p_acc.count
  loop
    update emp
    set    deptno = 10
    where  empno  = p_acc(i)
    ;
  end loop;
  for i in 1 ..p_res.count
  loop
    update emp
    set    deptno = 20
    where  empno  = p_res(i)
    ;
  end loop;
  for i in 1 ..p_sal.count
  loop
    update emp
    set    deptno = 30
    where  empno  = p_sal(i)
    ;
  end loop;
  for i in 1 ..p_fin.count
  loop
    update emp
    set    deptno = 50
    where  empno  =  p_fin(i)
    ;
  end loop;
end;