Stored procedures SSRS报告查询类型文本-必须声明参数错误
我正在写SSRS报告。处理存储过程sql代码以查询类型文本时出错。用于查询类型文本的SP代码 我在google和stackoverflow上搜索了一下,但是没有找到合适的修复方案,所以我在这里发布了文章 获取以下错误: 我知道,这个错误是由标量变量引起的。忽略最后一条消息附近不正确的语法 所以问题是,当我们使用查询类型文本时,我应该如何声明变量。与存储过程一样,它将自动添加到参数中 另外,查询类型文本不支持set变量,那么我应该怎么做Stored procedures SSRS报告查询类型文本-必须声明参数错误,stored-procedures,reporting-services,sql-server-2008-r2,ssrs-2008-r2,Stored Procedures,Reporting Services,Sql Server 2008 R2,Ssrs 2008 R2,我正在写SSRS报告。处理存储过程sql代码以查询类型文本时出错。用于查询类型文本的SP代码 我在google和stackoverflow上搜索了一下,但是没有找到合适的修复方案,所以我在这里发布了文章 获取以下错误: 我知道,这个错误是由标量变量引起的。忽略最后一条消息附近不正确的语法 所以问题是,当我们使用查询类型文本时,我应该如何声明变量。与存储过程一样,它将自动添加到参数中 另外,查询类型文本不支持set变量,那么我应该怎么做 Sample query SELECT @ToDate
Sample query
SELECT @ToDate = CAST(MAX(@ToDate) AS DATETIME) + ' 23:59:59.000'
SELECT *
FROM TableName
WHERE EndDate BETWEEN GETDATE() AND @ToDate
请帮助我,指导我或建议我克服这个问题的最佳解决方案
注意:我不想使用查询类型存储过程。我只想使用查询类型Text Only您应该首先在SSMS中尝试该查询,在粘贴到SSRS报告之前使其在那里工作 要在RDL文件中声明变量,语法如下: =参数!ToDate.价值 xxxSource数据源xxx 从SCHEMA.TABLENAME中选择X、Y、Z,其中X=@ToDate 示例查询 选择@ToDate=CASTMAX@ToDateAS DATETIME+'23:59:59.000' 从TableName中选择*,其中EndDate介于GETDATE和@ToDate之间
我发现了这个问题,所以当您在报表设计器查询类型文本中编写SQL查询时 1变量必须按如下方式声明或设置 2没有从同一个表中选择多个值。它会抛出错误 例如:
从XYZ中选择BillNumber、Name、BillNumber-BillNumber不应超过两次您可以发布查询吗?您可以在数据集中发布查询吗?带注释的向下投票会更好!我已经先在SSMS中检查了输出,一切正常。我也检查了视图代码,现在一切正常。我将删除数据集,并再次创建它。谢谢你们的帮助。首先,不需要在查询类型文本中使用多个select查询,其次,我将传递@ToDate作为参数,所以不需要在查询部分设置它。它无法解决我的问题。请在查询中声明一个变量declare@ToDate datetime
declare @ToDate datetime
--set @ToDate='2015-10-09' this is for example
SELECT @ToDate = CAST(MAX(@ToDate) AS DATETIME) + ' 23:59:59.000'
---select @ToDate
SELECT * FROM TableName WHERE EndDate BETWEEN GETDATE() AND @ToDate
DECLARE @ToDate DATETIME; -- ended with semicolon ";"
SET @ToDate = CAST(MAX(@ToDate) AS DATETIME) + ' 23:59:59.000'; -- ended with semicolon ";"