将表变量作为参数传递给表值函数
Posted
技术标签:
【中文标题】将表变量作为参数传递给表值函数【英文标题】:Pass a table variable as a parameter to a table-valued function 【发布时间】:2014-07-02 21:03:07 【问题描述】:是否可以将表变量作为参数传递给 T-Sql 表值函数?我想做类似以下的事情(仅限伪代码):
SELECT FieldValue FROM udf_SplitString(SELECT EmpName FROM Employees)
其中 udf_SplitString 是一个表值函数。作为结果,我希望从Employees 表中获得一个带有EmpName 列的表,但将udf_SplitString 应用于每个EmpName。我不想使用表值参数,因为我必须创建一个 UDF 表类型,而这只是我正在做的一次性事情。
我使用的是 SQL Server 2008。
【问题讨论】:
udf_SplitString
现在的输入是什么?
为什么在选择行而不是从行中没有该功能? ooo 编辑...D Stanley = 速度很快,打败了我
你能举一个预期输出的例子吗?我认为名称上的 SplitString 通常会给出 2 行,而不是两列。因此,这个请求有点模棱两可。
【参考方案1】:
我假设udf_SplitString
接受一个值并返回一个表。如果是这样,那么我认为你想要:
SELECT ss.*
FROM Employees e
CROSS APPLY udf_SplitString(e.EmpName) AS ss
【讨论】:
谢谢你,D 斯坦利!正是我想要的。以上是关于将表变量作为参数传递给表值函数的主要内容,如果未能解决你的问题,请参考以下文章