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

Sql server 2008 在SQL Server中如何将存储过程中的值插入函数中的变量,sql-server-2008,tsql,stored-procedures,Sql Server 2008,Tsql,Stored Procedures,我有一个存储过程,它返回一个值ex: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 请帮帮我 看一看 可以

我有一个存储过程,它返回一个值ex: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
请帮帮我

看一看

可以调用的SQL Server存储过程是返回 一个或多个OUT参数,它们是存储的参数 过程用于将数据返回给调用应用程序

如果为过程中的参数指定输出关键字 定义时,存储过程可以返回 存储过程退出时调用程序的参数。到 将参数值保存在可在中使用的变量中 调用程序时,调用程序必须使用OUTPUT关键字 执行存储过程

看看

可以调用的SQL Server存储过程是返回 一个或多个OUT参数,它们是存储的参数 过程用于将数据返回给调用应用程序

如果为过程中的参数指定输出关键字 定义时,存储过程可以返回 存储过程退出时调用程序的参数。到 将参数值保存在可在中使用的变量中 调用程序时,调用程序必须使用OUTPUT关键字 执行存储过程


如果存储过程返回表,则执行以下操作

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

insert into @data exec GetData

Select @count = count(*) from @data
如果要返回标量值,例如int、varchar,请使用输出参数

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

     Return 0
END
然后用这种方法取回它

 declare @data int
 EXEC GetData @data OUTPUT

如果存储过程返回表,则执行以下操作

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

insert into @data exec GetData

Select @count = count(*) from @data
如果要返回标量值,例如int、varchar,请使用输出参数

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

     Return 0
END
然后用这种方法取回它

 declare @data int
 EXEC GetData @data OUTPUT