用SQL语句查找包含有某个关键字的存储过程、触发器、函数等等

 

select name 
from sysobjects o, syscomments s 
where o.id = s.id 
and text like '%Extent1%' 
--and o.xtype = 'P'  
或者
 SELECT OBJECT_NAME(id) AS 存储过程,
        id
 FROM syscomments
 WHERE id IN (
                 SELECT OBJECT_ID(name) FROM dbo.sysobjects WHERE xtype = 'P' --存储过程为P
             )
       AND text LIKE '%FieldName%' --关键字
 GROUP BY id;

xtype:对象类型。可以是下列对象类型中的一种:   C = CHECK 约束   D = 默认值或 DEFAULT 约束   F = FOREIGN KEY 约束   L = 日志   FN = 标量函数   IF = 内嵌表函数   P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)   RF = 复制筛选存储过程   S = 系统表   TF = 表函数   TR = 触发器   U = 用户表   UQ = UNIQUE 约束(类型是 K)   V = 视图   X = 扩展存储过程

 

 

例如:

select b.name
from iqsys.dbo.syscomments a, iqsys.dbo.sysobjects b
where a.id=b.id and b.xtype=’p’ and a.text like ‘%黑名单%’
order by name

欢迎访问本网站!
雨木霜月 » 用SQL语句查找包含有某个关键字的存储过程、触发器、函数等等

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据