原文:
用SQL语句查找包含有某个关键字的存储过程、触发器、函数等(仅适用MS SQL SERVER)第一种方法:利用系统表进行查询
--将text替换成你要查找的内容
select name
from sysobjects o, syscomments s
where o.id = s.id
and text like ‘%text%‘
and o.xtype = ‘P‘
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 = 扩展存储过程
第二种方法:利用系统只读视图进行查询
--将text替换成你要查找的内容
SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES --查询存储过程与函数
WHERE ROUTINE_DEFINITION LIKE ‘%text%‘
AND ROUTINE_TYPE=‘PROCEDURE‘
select * from INFORMATION_SCHEMA.PARAMETERS --查询存储过程与函数的参数
select * from INFORMATION_SCHEMA.TABLES --查询数据库的表与视图