Так, может быть, использовать ту же конструкцию, что и во внешнем запросе?
BEGIN
FOR r IN (
select org_id ,name from table2 order by 1
) LOOP
dbms_application_info.set_cl (r.org_id);
FOR inner_query IN (
Select prj_id, prj_name
FROM table1
WHERE CREATION_DATE>TO_DATE('10/01/2017','DD-MM-YYYY');
) LOOP
dbms_output.put_line('prj_id: ' || inner_query.prj_id || ' prj_name:' || inner_query.prj_name);
END LOOP;
END LOOP;
END;
Edit:
Если вы хотите неявно вернуть курсор из вашей процедуры через dbms_sql.return_result
, вы должны объявить переменную как ref_cursor:
l_output SYS_REFCURSOR
А затем откройте его для вашего запроса:
OPEN l_output FOR SELECT ...
И, наконец, вернитесь со следующей процедурой:
DBMS_SQL.RETURN_RESULT(l_output);