【发布时间】:2010-11-23 10:32:23
【问题描述】:
直升机,
我的问题是我在 SQL Server 中有一个存储过程,它返回一个字段的计数。我想将此存储过程的结果存储在不同存储过程的变量(标量?)中。
sp_My_Other_SP:
CREATE PROCEDURE [dbo].sp_My_Other_SP
@variable int OUTPUT -- The returned count
AS
BEGIN -- SP
SET NOCOUNT ON;
SET @SQL = "SELECT COUNT(*) FROM blah"
EXEC(@SQL)
END -- SP
我目前的做法是:
DECLARE @count int
EXEC sp_My_Other_SP @count OUTPUT
然后我像使用它
IF (@count > 0)
BEGIN
...
END
但是,它返回其他存储过程结果以及主存储过程结果,这在我的 .NET 应用程序中是一个问题。
-----------
NoColName
-----------
14
-----------
MyCol
-----------
abc
cde
efg
(以上是返回结果集的尝试表示)
我想知道是否有办法将存储过程的结果存储到不输出它的变量中。
感谢您的帮助。
【问题讨论】:
-
您必须向我们展示更多代码,因为您的问题不清楚。
-
我同意..向我们展示整个上下文..对“其他”存储过程的调用。
-
问题是返回计数的 sproc 包含的数量多于其结果集中的数量,并且此输出在第二个 sproc 中出现。
标签: sql sql-server sql-server-2005 sql-server-2008 stored-procedures