表值函数返回类型
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''