【发布时间】:2017-03-07 02:44:21
【问题描述】:
我有一个如下的数据集查询:
SELECT col1, col2
FROM Table
WHERE @DatabaseGrowth = 'DatabaseGrowthByLast7Days'
UNION ALL
SELECT col3, col4
FROM Table
WHERE @DatabaseGrowth = 'DatabaseGrowthByLast4Weeks'
并有一个名为DatabaseGrowth 的参数。在运行报告时,如果我选择DatabaseGrowthByLast7Days,它应该返回7Days。但是,它显示错误
必须声明标量变量“@DatabaseGrowth”
我的数据集代码有什么问题? 以上代码是我实际代码的示例代码。
修改了上面的代码。
【问题讨论】:
-
显示你是如何声明的? SQL参数应该这样声明
Declare @DatabaseGrowth varchar(500) -
我在不同的地方使用不同的参数时不需要声明。
Select.....From table ...Where ColumnName in (@param)。它在没有声明的情况下工作。 -
当你在
SQL SERVER中使用@variablename时,应该在使用前声明 -
因为这是一个 SQL Server Reporting Services 问题,所以告诉您声明变量的答案没有抓住重点;如果您正确配置 SSRS 报告,则 SSRS 会配置参数。这是你想做的吗? technet.microsoft.com/en-us/library/aa337400(v=sql.105).aspx?
标签: sql-server reporting-services