【发布时间】:2012-04-01 09:32:15
【问题描述】:
我正在尝试创建一个新的 SSRS 报告,该报告将返回并显示 SQL Server 存储过程的值。我会将参数@clientID 传递给存储过程。此参数用于 3 种不同的 BEGIN/END 语句。每个BEGIN`END` 语句都接受参数并进行查询,返回特定数据。
当我创建 SSRS 报告时,我将数据源指向此存储过程,但只返回第一个 BEGIN/END 语句的结果集。如果我在 SSMS 中运行存储过程,我会得到 3 个不同的结果集,正如预期的那样。
如何将这 3 个 BEGIN/END 结果集合并到一个报告中?
示例代码:
CREATE PROCEDURE pClientData (@clientID varchar(30))
AS
DECLARE @Orders table (
...
);
DECLARE @Results table (
...
);
DECLARE @Status table (
...
);
BEGIN
SET NOCOUNT ON;
-- Get all the orders by client
INSERT INTO @Orders
SELECT ...
-- Return the results --
SELECT *
FROM @Orders;
END
BEGIN
SET NOCOUNT ON;
-- Determine the Results
INSERT INTO @Results
SELECT ...
SELECT *
FROM @Results;
END
BEGIN
SET NOCOUNT ON;
SET @Status = (
SELECT ...
);
SELECT @Status as Status;
END
GO
来自 SSRS 的查询调用:
EXEC pClientData @clientID
【问题讨论】:
标签: sql-server stored-procedures reporting-services