从执行块中选择?

时间:2016-06-09 07:30:51

标签: firebird firebird2.5 firebird-3.0

是否可以从执行块结果中进行选择?我想从它执行一些操作(总和等..)。

 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 

两者都不起作用。有人有建议吗?谢谢!

1 个答案:

答案 0 :(得分:2)

您应该创建一个独立的存储过程,如

create procedure proc1
returns (
  OUT_VALUE integer 
) as
begin
   ... 
  suspend; 
end

然后选择此proc

select sum(OUT_VALUE)
from proc1