9

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

谢谢你的帮助

克里斯

我用来获取 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'
4

1 回答 1

16

此信息可在sys.columns

为具有列的对象(例如视图或表)的每一列返回一行。以下是具有列的对象类型列表:

  • 表值汇编函数 (FT)

  • 内联表值 SQL 函数 (IF)

  • 内部表 (IT)

  • 系统表 (S)

  • 表值 SQL 函数 (TF)

  • 用户表 (U)

  • 观看次数(五)

SELECT *
FROM sys.columns
WHERE object_id=object_id('dbo.YourTVF')
于 2012-08-21T09:53:32.097 回答