Why doesn't my EXECUTE BLOCK statement return records?
If you write a SELECT that should return some rows, you need to use the same syntax as with stored procedures. That means that you must declare the columns in RETURNS clause, use INTO or assignment to supply values to those fields and use SUSPEND to inform the client that record is available. Example:
set term !! ;
RETURNS ( x smallint, s varchar(20) )
for select emp_no, last_name from employee into :x, :s
set term ; !!
If you're wondering what are those SET TERM statements, please read FAQ #78