2016-07-22 96 views
0

我有以下SP配置动态存储过程报告

CREATE PROCEDURE Studentrocedure @Type VARCHAR(50)

AS 
BEGIN 

    If @Type = 'Student' 
    Select * from tblStudent 
    Else If @Type = 'Fee' 
    Select * from tblFee 
    End 
END 

时遇到的问题是,当我添加对数据集SSRS报告,它不会在“字段”部分中取消任何字段/列。

我该如何解决?

+0

将其拆分为两个单独的sp。 –

+0

你是对的,但我想创建一个程序来处理10种类型的报告。在你的情况下,我将创建10个独立的程序。 –

+0

正确 - 10个独立的sps。 –

回答

0
  • ELSE部分附近出现语法错误,应该是ELSE IF
  • 另外,在查询中没有必要的额外End代替*
  • 明确提及列名


CREATE PROCEDURE Studentrocedure 
    @Type varchar(50) 
AS 
BEGIN 

    IF @Type = 'Student' 
     Select * from tblStudent 
    ELSE IF @Type = 'Fee' 
     Select * from tblFee 
END 
0

你真的无法解决此假设你选择*查询返回不同的结果集。数据集需要确定性的一组字段。您无法动态确定将包含在数据集中的字段。

如果您确信您的动态选择结果将永远返回相同的一组列,而不管给定的输入如何,那么您可以使用FMTONLY选项进行探索。

结账this link