表值函数返回类型

Posted

技术标签:

【中文标题】表值函数返回类型【英文标题】:Table-valued Function return type 【发布时间】:2018-11-07 14:44:54 【问题描述】:

如何获取表值函数返回类型

这会返回 TABLE 结果:

SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.ROUTINES
WHERE SPECIFIC_NAME = 'MyTableValuedFunctionName';

但是,我的函数返回唯一标识符列表。

从哪里可以获得类型“uniqueidentifier”?

【问题讨论】:

如果您需要返回一个特殊的表类型,您可以创建自己的自定义表类型,如果这是您所要求的? 明确一点,你想在函数返回的结果表中找到列的数据类型正确吗? Getting the result columns of table valued functions in SQL Server 2008 R2的可能重复 是的,这个问题有类似的答案脚本,但它有特定的标题和结果.. 【参考方案1】:

扩展答案here,您可以这样做:

SELECT c.[name] AS ColumnName,
       t.[name] AS datatype,
       t.max_length AS [Length],
       t.[precision],
       t.scale
FROM sys.columns c
     JOIN sys.types t ON c.system_type_id = t.system_type_id
WHERE c.object_id=object_id('dbo.MyTableValuedFunctionName'); --Assumes you function is on the dbo schema.

【讨论】:

以上是关于表值函数返回类型的主要内容,如果未能解决你的问题,请参考以下文章

EF Core 'The DbFunction 'ÉmpContext.fnGetEmployeeEligibility' 在调用表值函数时具有无效的返回类型 'ÉmpMaster''

sql2005中 表值函数是啥

sqlserver中的表值函数和标量值函数

Sqlserver中存储过程,触发器,自定义函数

sql2005中 表值函数是啥

表值函数