Om du antar att din SQL inte är längre än 32K (som @Tony Andrews antydde), bör du kunna använda något i stil med detta:
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 arbetar med Ref Cursors, open-for
kan användas direkt, istället för att execute immediate
.