如何按名称查找存储过程?

时间:2011-09-07 18:02:29

标签: database sql-server-2008 stored-procedures metadata

我只需要搜索我的数据库中的所有存储过程,查找名称中包含“item”的存储过程。有什么想法吗?

我一直在修补这个问题,但现在还没有完成:

SELECT DISTINCT OBJECT_NAME(ID) FROM SysComments WHERE Text LIKE '%Item%'

4 个答案:

答案 0 :(得分:4)

要在名称中找到包含字符串“Item”的内容。

select schema_name(schema_id) as [schema], 
       name
from sys.procedures
where name like '%Item%'

答案 1 :(得分:2)

This也可以帮助您解决此问题。当存在具有不同排序规则的数据库时,它也可以工作。您可以通过传递确切的过程名称或其名称的一部分来查找过程。

答案 2 :(得分:2)

您可以在Server 2008中使用新查询:

use dbName
go

print object_definition(object_id('storedProcedureName'))

您将获得程序内容。

答案 3 :(得分:1)

使用SQL,您只能使用%和_通配符。如果您想要更强大的搜索功能,可以使用SchemaCrawler。 SchemaCrawler可以使用与名称匹配的正则表达式搜索例程。您甚至可以使用正则表达式在例程定义中进行搜索。

Sualeh Fatehi,SchemaCrawler