Za předpokladu, že vaše SQL není delší než 32 kB (jak naznačil @Tony Andrews), měli byste být schopni použít něco takového:
declare
SQL_Text varchar2(32760) := 'select * from dual'; --your query goes here
cur sys_refcursor;
begin
open cur for SQL_Text;
end;
Při práci s referenčními kurzory open-for
lze použít přímo, namísto execute immediate
.