[英]SSRS subscription with cursor
在我的(ssrs)数据驱动订阅中,我尝试使用 cursor。 我需要的结果:字母数应该等于 cursor 返回的行数。 例子:
SET ANSI_WARNINGS ON
DECLARE cur CURSOR FOR
SELECT * FROM #ForResult
OPEN cur
WHILE 1 = 1
BEGIN
FETCH NEXT FROM cur INTO @ID, @CommittedBy, @FlightNumber, @Dep, @DateBeg, @Carrier, @Arr
IF @@FETCH_STATUS <> 0 BREAK
SELECT CONVERT(VARCHAR(10), @DateBeg, 104) AS [DateBeg]
, CONVERT(VARCHAR(10), @DateBeg, 104) AS [DateEnd]
, @Dep AS [AP]
, @FlightNumber AS [FlightNumber]
, 'email@y.ru' AS [Recip]
, 'Отчет '
+ @FlightNumber
+ ' от ' + CONVERT(VARCHAR(10), @DateBeg)
+ ' а/к ' + @Carrier
+ ' ' + @Dep + ' - ' + @Arr
+ ' // ' + @CommittedBy AS [Subject]
END
CLOSE cur
DEALLOCATE cur
SET ANSI_WARNINGS OFF
SET ANSI_WARNINGS 解决的问题Cannot read the next data row for the dataset
但是订阅只返回第一个游标结果。 如何以不同的字母返回所有行?
这是您拥有的唯一代码吗,因为在 SSRS 中,代码的工作方式与 TSQL 非常不同。 它应该区分大小写,字符串参数的工作方式可能不同。 确保在 SP 中正确定义了所有 ANSI 设置并再次运行它们
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.