存储过程调用存储过程,如何接收其结果
存储过程1
sp1:两个参数v1,v2
select '1 '
存储过程2
declare @tmpstr varchar(10)
SET @tmpstr=(EXECUTE sp1(v1,v2))
目的就是想将得到sp1返回的 '1 ',并赋给@tmpstr,但报错
在关键字 'execute ' 附近有语法错误。
第 15 行: ') ' 附近有语法错误。
应该怎么写呢?
------解决方案--------------------存储过程2
create table #(
x varchar(10)
)
insert #
EXECUTE sp1 v1,v2
declare @tmpstr varchar(10)
select @tmpstr=x from #
------解决方案----------------------創建存儲過程
Create ProceDure sp1(@v1 Int, @v2 Int)
As
Return @v1 + @v2
GO
--測試
declare @tmpstr varchar(10), @v1 Int, @v2 Int
Select @v1 = 1, @v2 = 10
EXECUTE @tmpstr=sp1 @v1,@v2
Select @tmpstr
GO
--刪除測試存儲過程
Drop ProceDure sp1
--結果
/*
11
*/