Sql server 在Cognos视图中使用存储过程
我试图从Cognos视图执行一个存储过程。我可以从视图运行存储过程并查看结果,但它不允许我保存它。当我去保存时,它说我在“EXEC”有一个语法错误。我想做的事情可能吗 下面的SQL块:Sql server 在Cognos视图中使用存储过程,sql-server,tsql,cognos,Sql Server,Tsql,Cognos,我试图从Cognos视图执行一个存储过程。我可以从视图运行存储过程并查看结果,但它不允许我保存它。当我去保存时,它说我在“EXEC”有一个语法错误。我想做的事情可能吗 下面的SQL块: EXEC [dbo].[SEL_EQUIP_FUEL_BY_DATES] @EQUIP_IN = N'1', @START_DATE = N'12-01-2012', @END_DATE = N'12-31-2099', @FLAG = 0,
EXEC [dbo].[SEL_EQUIP_FUEL_BY_DATES]
@EQUIP_IN = N'1',
@START_DATE = N'12-01-2012',
@END_DATE = N'12-31-2099',
@FLAG = 0,
@init = N'GLR',
@pid = 156
提前感谢您的帮助 不,不可能
视图可以基于表、其他视图和函数,每个视图的主体必须是SELECT
语句
存储过程不容易组合成查询
也许您可以将存储过程改为一个?您不能参数化视图,但可以使用内联函数。如果Cognos能够处理这些问题,这将是一条出路。我怀疑它们可能能够,因为您可以像选择表或视图一样从它们中进行选择,只使用您的参数(与您必须执行的存储过程不同)。你可以这样称呼它
Select * from myTableFunction(param1, param2, param3);
请参见我不想告诉您,但是这里涉及到的视图在哪里?Cognos不能从存储过程中检索数据(或者我的Cognos guy告诉我的),但可以读取表和视图。所以我需要一个存储过程的视图。参数永远不会改变。希望我有点道理……您需要从存储过程内部提取
SELECT
,并将其用作“视图主体”——您不能在视图的上下文中执行存储过程。Cognos可以非常愉快地执行存储过程,只要它返回一个结果集。如果你的Cognos助手告诉你不是这样,那么你可能需要一个新的Cognos助手。@TomTom哇,有一个视图设计器。。。但遗憾的是,我无法在其中执行sp。在Mgmt Studio 2012中:右键单击“视图”文件夹,选择“新建视图”,感谢您提供了有用的答案,尽管有一些无用的注释。在Cognos中,您可以通过自定义sql查询创建数据源查询主题,并将Cognos报告级“提示”参数插入查询中。