db2带参数,并返回查询结果集的存储过程,该怎么处理

db2带参数,并返回查询结果集的存储过程
SQL code


需求:
创建一个存储过程(db2 7.2 环境下),该存储过程需要一个输入参数 t_sql(来自程序的一条sql语句),然后在存储过程中动态创建一条查询的sql语句,执行该动态sql,返回结果

错误代码如下:

create procedure usp_GetDataAnalysis(in input_sql varchar(2000))
language SQL
begin
 declare t_sql varchar(2000)
 set t_sql =input_sql; 
 exec t_sql 
   
 set t_sql = 'select AccountName'  
 select t_sql = t_sql + ',max(case ConditionName when ''' + ConditionName + ''' then [Money] else 0 end)[' +   ConditionName +']'  from (select distinct ConditionName from TempTable) t 
 select t_sql = t_sql + ' from TempTable group by AccountName' 
 exec t_sql
end












请大家帮忙修改下



------解决方案--------------------
错误代码。。。错误呢?
我没有你的环境不知道会出什么错啊。
------解决方案--------------------
是要用游标返回结果的话要在前面
DYNAMIC RESULT SETS 1 
然后定义游标
DECLARE c_sql CURSOR WITH RETURN FOR t_sql;
set t_sql =input_sql; 
open c_sql;
不关闭,然后可以在程序里获取RESULTSETS了
具体什么程序看你用的开发语言了
------解决方案--------------------
你把
exec input_sql;
改成
EXECUTE IMMEDIATE input_sql;
试试