带有游标的SSRS订阅

问题描述 投票:0回答:1

在我的(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 protected]' 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
1个回答
0
投票

这是您唯一的代码,因为在SSRS中,该代码的工作方式与TSQL完全不同。应该区分大小写,字符串参数的工作方式可能不同。确保已在正确定义了所有ANSI设置的SP中安装它,然后再次运行它们

© www.soinside.com 2019 - 2024. All rights reserved.