【SQL】按名称或内容查找存储过程

《【SQL】按名称或内容查找存储过程》

1.Oracle中下面这么写

按名查找存储过程:
select   *   from   user_objects
where   Object_Type=’PROCEDURE’ and object_name like ‘%’||upper(‘p’)||’%’

按内容查找存储过程:
SELECT * FROM ALL_SOURCE  where TYPE=’PROCEDURE’  AND TEXT LIKE ‘%’||upper(‘clean_’)||’%’

SELECT * FROM ALL_SOURCE  where TYPE=’PACKAGE BODY’ AND TEXT LIKE ‘%function%’and owner=’system’ and name=’tablename’;
有点慢,MS没什么好方法

2.MS Server中下面这么写

按名查找存储过程:
EXEC Sp_HelpText ‘存储过程名’;

按内容查找存储过程:
select b.name
from kbmp.dbo.syscomments a,kbmp.dbo.sysobjects b
where a.id=b.id  and b.xtype=’p’ and a.text like ‘%if_check%’;

 

 

 

==============================

[转载]SQL SERVER查找包含某关键字的存储过程3种方法

存储过程都写在一个指定的表中了,我们只要使用like查询就可以实现查询当前这台SQL Server中所有存储过程中包括了指定关键字的存储过程并显示出来,下面一起来看看我总结了几条命令。

例子1

代码如下

1
2
3
4
5
6
OBJECT_NAME(id),id from syscomments
where id in
select object_id(namefrom dbo.sysobjects where xtype='P'
)
and text like '%FieldName%'
id

 

例子2

在SQL Server 2005/2008中,查询包含某关键字的存储过程语句:

代码如下

1
2
3
4
select distinct b.name
from dbo.syscomments a, dbo.sysobjects b
where a.id=b.id  and b.xtype='p' and a.text like '%text%'
order by name

 

例子3

关键字查找相关的存储过程、、函数和视图

代码如下

1
2
3
select name,type_desc from sys.all_sql_modules s
inner join sys.all_objects o on s.object_id=o.object_id
where definition like '%key%' order by type_desc,name
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注