Select 来自执行块?

Select from execute block?

是否可以从执行块结果中 select?我想从中执行一些操作(求和等)。

 select t1.* 
 from 
   ( execute block 
     returns ( 
       OUT_VALUE integer ) 
    as 
    begin 
    ... 
    suspend; 
  end ) t1

 with   
 t1 as ( execute block ... ) 
   select * 
   from t1 
   order by 
     t1.sort_column 

两者都不行。有人有建议吗?谢谢!

你应该像

一样创建一个独立的存储过程
create procedure proc1
returns (
  OUT_VALUE integer 
) as
begin
   ... 
  suspend; 
end

然后 select 在此过程中

select sum(OUT_VALUE)
from proc1