【发布时间】:2019-10-16 10:28:45
【问题描述】:
在我的(ssrs)数据驱动订阅中,我尝试使用游标。 我需要的结果:字母数应该等于光标返回的行数。示例:
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
但是订阅只返回第一个游标结果。如何以不同的字母返回所有行?
【问题讨论】:
标签: sql sql-server cursor ssrs-2008-r2 subscription