sql-server-2008-r2 - 在 SQL Server 2008 R2 中获取表值函数的结果列

标签 sql-server-2008-r2 user-defined-functions

对于常量生成器,我喜欢获取所有表值函数的结果列的元数据(每个表值函数返回的列的名称是什么)。我怎样才能得到它们?我是否必须解析函数的源代码,或者是否有提供此信息的接口(interface)?

谢谢你的帮助

克里斯

我用来获取 TVF 的以下查询:

SELECT udf.name AS Name, SCHEMA_NAME(udf.schema_id) AS [Schema]
FROM master.sys.databases AS dtb, sys.all_objects AS udf
WHERE dtb.name = DB_NAME() 
AND (udf.type IN ('TF', 'FT')) 
AND SCHEMA_NAME(udf.schema_id) <> 'sys'

最佳答案

此信息可在 sys.columns 中获得

Returns a row for each column of an object that has columns, such as views or tables. The following is a list of object types that have columns:

  • Table-valued assembly functions (FT)

  • Inline table-valued SQL functions (IF)

  • Internal tables (IT)

  • System tables (S)

  • Table-valued SQL functions (TF)

  • User tables (U)

  • Views (V)


SELECT *
FROM sys.columns
WHERE object_id=object_id('dbo.YourTVF')

关于sql-server-2008-r2 - 在 SQL Server 2008 R2 中获取表值函数的结果列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12052276/

相关文章:

vba - 非 volatile UDF总是重新计算

apache-spark - 用户定义的函数要应用于 PySpark 中的 Window?

javascript - 使用 JavaScript 的 Snowflake UDF 返回不正确的日期

sql-server - 如何从 CTE 获取不同的依赖项列表

sql-server - 我们可以在 SQL Server 2014 上恢复 SQL Server 2008R2 备份吗?

sql-server - 外键中允许的尾随空格

c# - 如何根据第一个ListView中选择的值显示第二个ListView?

asp.net - SQL Reporting Services 可以与 ASP 成员(member)资格提供商一起使用吗?

scala - 对Spark流数据集列进行排名

c++ - C++中的枚举类型帮助