如何在SQL Server中将存储过程中的值插入到函数中的变量中

Sti*_*ger 1 t-sql stored-procedures sql-server-2008

我有一个存储过程返回一个值(例如:GetData)

如何在另一个函数中声明一个变量来获取该值?

像这样的东西

Create Function Test
Return Int
Begin
    Declare @data My_Data_Type
    Declare @count int
    SET @data = exec GetData
    Select @count = count(*)
    From @data

    Return @count
End
Run Code Online (Sandbox Code Playgroud)

请帮我 !!!!

cod*_*biz 5

如果您的存储过程返回表,那么

declare @data as table(col1 int, col2 varchar(50))

insert into @data exec GetData

Select @count = count(*) from @data
Run Code Online (Sandbox Code Playgroud)

如果要返回标量值,例如int,varchar,请使用OUTPUT参数

CREATE PROC GetData
(
   @retVal int OUTPUT
)
AS
BEGIN
     SET @retVal = 123

     Return 0
END
Run Code Online (Sandbox Code Playgroud)

然后以这种方式检索它

 declare @data int
 EXEC GetData @data OUTPUT
Run Code Online (Sandbox Code Playgroud)