Itgenpse049 melding

Bij het uitvoeren van de volgende code op Invantive Cloud krijg ik een foutmelding:

itgenpse049
Ontledingsfout op regel 14 in kolom 10:
Voor recordverklaring over onmiddellijk uitvoeren worden alleen constante zoekopdrachten ondersteund.

Code:

declare
  p_stmt varchar2 := 'select 1 c for csv';
begin
  for r
  in
  ( execute
    immediate 
    p_stmt
  )
  loop
    null;
  end loop;
end;

Dit werkt wel:

begin
  for r
  in
  ( execute
    immediate 
    'select 1 c for csv'
  )
  loop
    null;
  end loop;
end;

Is het mogelijk om een variabele (die constant is tijdens de uitvoering) te gebruiken?

Ja, dat kan door constant toe te voegen aan de variabele definitie:

declare
  p_stmt constant varchar2 := 'select 1 c for csv';
begin
  for r
  in
  ( execute
    immediate 
    p_stmt
  )
  loop
    null;
  end loop;
end;