You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取指定存储过程集合对应的自定义用户类型列表

批量查询实现方案

你可以通过拆分逗号分隔的存储过程名称,结合关联查询的方式兼容批量场景,完整实现代码如下:

-- 替换变量值为你实际的逗号分隔存储过程列表
DECLARE @InputProcList NVARCHAR(MAX) = 'dbo.Procedure1,dbo.Procedure2,dbo.Procedure3'

SELECT
    LTRIM(RTRIM(s.value)) AS 所属存储过程,
    r.referenced_entity_name AS 自定义用户类型名称
FROM STRING_SPLIT(@InputProcList, ',') s
CROSS APPLY sys.dm_sql_referenced_entities(LTRIM(RTRIM(s.value)), 'OBJECT') r
WHERE r.referenced_class_desc = 'TYPE'
-- 可选:只过滤用户自定义类型,排除系统类型
-- AND r.is_user_defined = 1

注意事项

  • 该实现默认适配SQL Server 2016及以上版本,低版本SQL Server需先自定义字符串拆分函数,替换STRING_SPLIT部分逻辑即可
  • 存储过程名称建议携带schema前缀(如dbo.xxx),避免不同schema下同名对象导致查询报错
  • 如果存在输入的存储过程名称不存在的情况,会触发函数报错,可提前校验输入的存储过程名称合法性

内容的提问来源于stack exchange,提问作者Mickey P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 21:18:03