在Cognos视图中使用存储过程

时间:2014-03-14 15:18:11

标签: 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,
        @init = N'GLR',
        @pid = 156

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

不,它无法完成。

视图可以基于表,其他视图和函数,每个视图的主体必须是SELECT语句。

存储过程不容易组成查询。

也许您可以将存储过程更改为function

答案 1 :(得分:0)

您无法对视图进行简化,但您可以使用内联函数。如果Cognos能够处理这些问题,那将是最佳选择。我怀疑他们可能会像你从表格或视图中那样选择它们,也只能使用你的参数(与你必须执行的存储过程不同)。你可以用类似

之类的东西来称呼它
Select * from myTableFunction(param1, param2, param3);

请参阅http://technet.microsoft.com/en-us/library/aa175924(v=sql.80).aspx