FM引入存储过程时老报错

有一张400多万的事实表,此表存有年、季、月的三种数据,报表查询项里,年下拉框是必选的,即先按年查询,如果只查看年数据,则月、季下拉框隐藏,否则显示,报表直接访问该表数据时打开报表速度特别慢,既然必须先选年,现在我把这张表按年分区,分区名称为P+年份(比如2012年分区为P2012),每年数据大概是100万左右,这样我觉得查询速度应该会快一些。由于在报表的SQL里直接把年参数放进去验证不通过,SQL是:SELECT 查询项  FROM MV_GWZBFX_FQ PARTITION(P#prompt('yearcode')#),所以我就考虑用存储过程,存储过程是这样写的:CREATE OR REPLACE PROCEDURE SP_MV_GWZBFX_FQ(V_YEAR VARCHAR2) IS
  V_SQL VARCHAR(20000);
BEGIN
  V_SQL := 'SELECT 查询项 FROM MV_GWZBFX_FQ PARTITION(P' || V_YEAR || ')';
  EXECUTE IMMEDIATE V_SQL;
END SP_MV_GWZBFX_FQ;

在FM中引入存储过程测试时老报错,以前没搞过cognos调用存储过程,请大神们帮忙看看,非常感谢!这步通过了,我才能接着研究后面在报表里怎么用这个存储过程,现在就卡在这了。
参与9

6同行回答

FinrodElensarFinrodElensar软件开发工程师北京东方金指
这玩意需要返回游标啊而且这过程怎么感觉有问题啊,动态sql就不需要变量接收结果吗?lz不习惯游标的话建议使用管道函数,当一个查询用还是很给力的显示全部
这玩意需要返回游标啊
而且这过程怎么感觉有问题啊,动态sql就不需要变量接收结果吗?
lz不习惯游标的话建议使用管道函数,当一个查询用还是很给力的收起
政府机关 · 2015-07-14
浏览1271
hikeplayguitarhikeplayguitar研发工程师山东城市商业银行联盟
用存储过程的话,缓存经常是一个问题,楼主有没有碰到过?你们是怎么解决的显示全部
用存储过程的话,缓存经常是一个问题,楼主有没有碰到过?你们是怎么解决的收起
软件开发 · 2015-07-20
浏览1329
zhonghanquanzhonghanquan业务部门经理信和汇诚
网上看了一些例子,确实是存储过程少返回结果集,现在已经解决了,谢谢各位。我是这样改的CREATE OR REPLACE PROCEDURE SP_MV_GWZBFX_FQ(V_YEAR   IN VARCHAR2,                      ...显示全部
网上看了一些例子,确实是存储过程少返回结果集,现在已经解决了,谢谢各位。
我是这样改的
CREATE OR REPLACE PROCEDURE SP_MV_GWZBFX_FQ(V_YEAR   IN VARCHAR2,
                                            V_RESULT OUT SYS_REFCURSOR) IS

  V_SQL VARCHAR2(20000);

BEGIN
  
  V_SQL := 'SELECT STATISTICDATE, MONTHCODE, MONTHNAME, QUARTERCODE, QUARTERNAME, YEARCODE, YEARNAME,
  COMCODE, COMNAME, COMCODE1, COMNAME1, COMCODE2, COMNAME2, GRADECODE, GRADENAME, USERCODE, USERNAME,
  VERSIONID, IMPMEANSNAME, TYPE, TYPENAME, STARTDATE, ENDDATE, STATUS, STATUSNAME, STINDEXCODE,
  INDEXNAME, SCORE, ASSESSTYPE FROM MV_GWZBFX_FQ PARTITION(P' || V_YEAR || ')';

  OPEN V_RESULT FOR V_SQL;
  
END SP_MV_GWZBFX_FQ;收起
互联网服务 · 2015-07-14
浏览1282
kingwangkingwang商业智能工程师前景科技有限公司
需要返回一个result啊显示全部
需要返回一个result啊收起
医药 · 2015-07-14
浏览1292
zhonghanquanzhonghanquan业务部门经理信和汇诚
回复 2# FinrodElensar    我存储过程写得很少;P1显示全部
回复 2# FinrodElensar


   我存储过程写得很少;P1收起
互联网服务 · 2015-07-14
浏览1313
wanglkwlwanglkwl研发工程师HG
cursor  啊return a result set   啊显示全部
cursor  啊
return a result set   啊收起
IT咨询服务 · 2015-07-14
浏览1302

提问者

zhonghanquan
业务部门经理信和汇诚
擅长领域: 大数据商业智能服务器

问题来自

相关问题

相关资料

问题状态

  • 发布时间:2015-07-14
  • 关注会员:1 人
  • 问题浏览:6238
  • 最近回答:2015-07-20
  • X社区推广