---------- Original Message -----------
From: "un_spoken" <[email protected]>
> regarding option b)
> 
> > b) if there's more to it, dynamically build up the EXECUTE BLOCK as you did 
> > above, then execute the whole thing as a statement (keeping in mind that 
> > you 
> > need to build up a statement that looks like:
> > 
> > execute block (parameter names and types...) returns (column names and 
> > types...) as
> > begin
> >  for select ... into ... do suspend;
> > end
> 
> When I dynamically build the EXECUTE BLOCK it will have different 
> columns number for each execution. Because of that I will be not 
> possible to execute it as a statement since when I am executing it as 
> a statement I would also have to define the returning columns, right?
------- End of Original Message -------

You can (and must) dynamically create the returns() clause, to match. Your 
"template" would therefore look like:

execute block returns ( /*dynamically-built*/ ) as
begin
 for select /*dynamically-built*/ into /*dynamically-built*/ do suspend;
end

Does that explain it?

-Philip

Reply via email to