用SQL语句查找包含有某个关键字的存储过程、触发器、函数等(仅适用MS SQL SERVER)...

本文介绍了两种查询SQL存储过程的方法:一是通过系统表查询,包括使用sysobjects和syscomments表来定位存储过程;二是利用系统只读视图INFORMATION_SCHEMA.ROUTINES进行查询,同时还提供了查询存储过程参数和数据库表视图的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种方法:利用系统表进行查询

 
--将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 --查询数据库的表与视图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值