博客
关于我
用SQL语句查找包含有某个关键字的存储过程、触发器、函数等(仅适用MS SQL SERVER)
阅读量:477 次
发布时间:2019-03-06

本文共 670 字,大约阅读时间需要 2 分钟。

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

 
--将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 --查询数据库的表与视图

转载地址:http://gxwdz.baihongyu.com/

你可能感兴趣的文章
mysql复制表结构和数据
查看>>
mysql复杂查询,优质题目
查看>>
MySQL外键约束
查看>>
MySQL多表关联on和where速度对比实测谁更快
查看>>
MySQL多表左右连接查询
查看>>
mysql大批量删除(修改)The total number of locks exceeds the lock table size 错误的解决办法
查看>>
mysql如何做到存在就更新不存就插入_MySQL 索引及优化实战(二)
查看>>
mysql如何删除数据表,被关联的数据表如何删除呢
查看>>
MySQL如何实现ACID ?
查看>>
mysql如何记录数据库响应时间
查看>>
MySQL子查询
查看>>
Mysql字段、索引操作
查看>>
mysql字段的细节(查询自定义的字段[意义-行列转置];UNION ALL;case-when)
查看>>
mysql字段类型不一致导致的索引失效
查看>>
mysql字段类型介绍
查看>>
mysql字段解析逗号分割_MySQL逗号分割字段的行列转换技巧
查看>>
MySQL字符集与排序规则
查看>>
MySQL字符集乱码
查看>>
mysql存储IP地址的数据类型
查看>>
mysql存储中文 但是读取乱码_mysql存储中文乱码
查看>>