sql >> Base de Datos >  >> RDS >> Oracle

Oracle EJECUTAR INMEDIATO en un cursor

Suponiendo que su SQL no tenga más de 32K (como insinuó @Tony Andrews), debería poder usar algo como esto:

declare
   SQL_Text varchar2(32760) := 'select * from dual'; --your query goes here
   cur sys_refcursor;
begin
   open cur for SQL_Text;
end;

Al trabajar con cursores de referencia, open-for se puede usar directamente, en lugar de execute immediate .