I am attempting to create a new SSRS report that will return and display the values of a SQL Server stored procedure. I will pass a parameter @clientID
to the stored procedure. This parameter is used in 3 different BEGIN
/END
statements. Each BEGIN
`END` statement takes the parameter and makes a query, returning specific data.
When I create the SSRS report, I point the datasource to this stored procedure, but only the result set from the first BEGIN
/END
statement is returned. If I run the stored procedure in SSMS, I get 3 different result sets, as expected.
How can I get those 3 BEGIN
/END
result sets into a single report?
Sample code:
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
Query call from SSRS:
EXEC pClientData @clientID