Forudsat at din SQL ikke er længere end 32K (som @Tony Andrews antydede), burde du være i stand til at bruge noget som dette:
declare
SQL_Text varchar2(32760) := 'select * from dual'; --your query goes here
cur sys_refcursor;
begin
open cur for SQL_Text;
end;
Når du arbejder med Ref Cursors, open-for
kan bruges direkte i stedet for execute immediate
.