SQLが32K以下であると仮定すると(@Tony Andrewsが示唆したように)、次のようなものを使用できるはずです:
declare
SQL_Text varchar2(32760) := 'select * from dual'; --your query goes here
cur sys_refcursor;
begin
open cur for SQL_Text;
end;
参照カーソルを操作する場合は、open-for
execute immediate
の代わりに直接使用できます 。