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

如何修改SQL Server查询以返回含指定字符串对象的类型?

如何在SQL Server中查找含指定文本的对象并返回对象类型

当然可行!你只需要将sys.sql_modules与sys.objects系统视图关联起来,因为sys.objects中存储了所有数据库对象的类型元数据。下面是修改后的查询语句:

Declare @SearchStr varchar(256) = 'MyStringToSearchFor'
SELECT 
    OBJECT_NAME(m.object_id) AS ObjectName,
    OBJECT_SCHEMA_NAME(m.object_id) AS SchemaName,
    o.type_desc AS ObjectType, -- 返回可读性强的对象类型描述
    m.definition
FROM sys.sql_modules m
JOIN sys.objects o ON m.object_id = o.object_id
WHERE m.definition LIKE '%'+@SearchStr+'%'
-- 可选:如果需要过滤特定类型的对象,可添加以下条件
-- AND o.type IN ('P', 'V', 'FN', 'IF', 'TF', 'TR')

关键细节说明:

  • o.type_desc会返回直观的对象类型名称,比如SQL_STORED_PROCEDURE(存储过程)、VIEW(视图)、SQL_SCALAR_FUNCTION(标量函数)、SQL_TRIGGER(触发器)等。
  • 如果你偏好使用缩写类型标识,可以替换为o.type,对应的缩写含义:
    • P:存储过程
    • V:视图
    • FN:标量函数
    • IF:内联表值函数
    • TF:表值函数
    • TR:触发器
  • 可选的AND o.type IN (...)条件可以帮你精准筛选目标对象类型,避免返回系统对象或其他无关对象。

这个查询会清晰返回包含指定文本的对象名称、所属架构、对象类型以及完整定义,完全满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:15:04