我只需要搜索我的数据库中的所有存储过程,查找名称中包含“item”的存储过程。有什么想法吗?
我一直在修补这个问题,但现在还没有完成:
SELECT DISTINCT OBJECT_NAME(ID) FROM SysComments WHERE Text LIKE '%Item%'
答案 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