hi,

sql_stmt := 'BEGIN select * from TBGroupPrivileges WHERE groupid = :aa; END;';
open abc for sql_stmt USING IN InAry;





this is just an example:
DECLARE
TYPE typ_empno IS TABLE OF emp.empno%TYPE INDEX BY BINARY_INTEGER;
TYPE typ_ref is REF CURSOR;
lv_cur_dynamic typ_ref;
lv_typ_empno typ_empno;
lv_qry_str varchar2(30000) := 'SELECT empno FROM emp';
BEGIN
OPEN lv_cur_dynamic FOR lv_qry_str ;
LOOP
FETCH lv_cur_dynamic BULK COLLECT INTO lv_typ_empno LIMIT 500;
FORALL i IN 1..lv_typ_empno.count
INSERT INTO dummy VALUES (lv_typ_empno(i));
EXIT WHEN lv_cur_dynamic%NOTFOUND;
END LOOP;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('err >>> '||SQLERRM);
END;