如何从函数返回多个值以及如何调用函数并将返回的值赋值给局部变量? (T-SQL)

时间:2014-01-03 10:50:59

标签: sql-server tsql

我是SQL Server的新手,我想问一个查询 假设我有一个返回四个值的函数,例如

set @RetValue=@PendingFlag + @Status + @BTFound + @ValueDateRETURN @RetValue。 现在假设我从另一个函数调用这个函数,比如假设:

DECLARE @d VARCHAR(max)
SET@d=dbo.ValidateBTtype(@BType,@ReadBT,@Type,@Id,@ClientId,@Customerno,@InterestDate,@ApplicationType)

@d中,我有四个值 但我想要做的是我想要返回的值,我想将它分别存储在局部变量中,如局部变量@PendingFlag=返回值(@Pending Flag)局部变量@Status =返回值( @Status)等等。

请帮我如何通过调用第一个函数

将返回的值分别存储在第二个函数中

4 个答案:

答案 0 :(得分:2)

您可以从函数返回一个表,其中表有一行,四列,每列返回一个。

有关表值函数的详细信息,请参阅here

答案 1 :(得分:0)

可能的方法:
dbo.ValidateBTtype函数中用逗号分割四个字符串(或值),然后使用逗号作为分隔符将@d字符串拆分为4个部分 像这样:
@RetValue= @PendingFlag + ',' + @Status + ',' + @BTFound + ','+ @ValueDate

...或者创建表值函数..

答案 2 :(得分:0)

请参阅here'如何从sql server函数返回多个值'。或谷歌的SQL服务器从函数'返回多个值并选择。

干杯 -

答案 3 :(得分:-1)

您需要研究SQL Concepts 使用SQlClient类进行SQL查询。
查看DataSet类,它通常用于存储“多个返回值”
http://www.dotnetperls.com/sqlclient