直升机,
我的问题是在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
(以上是返回的结果集的尝试表示)
我想知道是否有办法将存储过程的结果存储到不输出的变量中.
感谢任何帮助.
解决方法
您可以将存储过程的结果捕获到临时表中,以免调用存储过程返回.
create table #temp (id int,val varchar(100)) insert into #temp exec sp_My_Other_SP @value,@value,@count OUTPUT