我知道我可以查询以查看函数的参数数据类型,如下所示:
SELECT st.name
FROM sys.objects o
JOIN sys.all_parameters ap ON ap.object_id = o.object_id
JOIN sys.systypes st ON st.type = ap.system_type_id
WHERE o.object_id = OBJECT_ID(N'[dbo].[fn_GetPercent]') AND o.type = N'FN'
Run Code Online (Sandbox Code Playgroud)
如何以编程方式检查此函数的返回类型?我可以加入另一个sys表来获取该信息吗?
我正在使用 SQL Server 2012,但我希望也能向后兼容 2008 年。
使用INFORMATION_SCHEMA.ROUTINES系统视图查找return type的User Defined Function。
SELECT ROUTINE_NAME,
DATA_TYPE
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'FUNCTION'
Run Code Online (Sandbox Code Playgroud)