En supposant que votre SQL ne dépasse pas 32 Ko (comme @Tony Andrews l'a laissé entendre), vous devriez pouvoir utiliser quelque chose comme ceci :
declare
SQL_Text varchar2(32760) := 'select * from dual'; --your query goes here
cur sys_refcursor;
begin
open cur for SQL_Text;
end;
Lorsque vous travaillez avec des curseurs de référence, open-for
peut être utilisé directement, au lieu de execute immediate
.