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