我需要返回一个报告表中尚未处理的所有报告的列表。我正在为此过程使用存储过程。
这是我的存储过程创建:
CREATE PROCEDURE spGetAllUntouchedReportID
@ReportID int OUTPUT
AS
BEGIN
SELECT @ReportID=Report.ReportID
FROM Report
WHERE Report.Status IS NULL
END
这就是我调用存储过程的方式:
DECLARE @ReportID int
EXECUTE spGetNextReportID
@ReportID OUTPUT
Print @ReportID
本质上,一个 C# 应用程序将连接并获取结果集,但我正在使用调用对其进行测试。我的问题是对存储过程的调用只打印它找到的最后一个结果。
以下是为报告表设置的示例:
ReportID Status
1 NULL
2 Incomplete
3 NULL
对该过程的调用打印出:
3
代替:
1
3
如何让我的存储过程存储它从存储过程返回的集合并调用它来打印每一个?这也可能出现在其他存储过程中,我需要执行具有多列的 Select * 并且需要返回整个集合