1

我的数据库中有大量存储过程,我想在编写新过程之前看看其中一个是否能完成我的任务。我将如何仅搜索现有存储过程的名称(而不是内容)?

4

4 回答 4

4

SQL Server 2005+:

SELECT name FROM sys.procedures WHERE name LIKE '%search_text%';

SQL Server 2000:

SELECT name FROM sysobjects WHERE name LIKE '%search_text%' AND xtype = 'P';

另一个好主意是建立一个合理的命名模式。如果您的命名约定是一致且合乎逻辑的,那么您根本不需要搜索。

于 2012-08-29T19:49:57.760 回答
0
SELECT DISTINCT OBJECT_NAME(id)
FROM syscomments
WHERE OBJECT_NAME(id)
LIKE '%search_text%'
于 2012-08-29T19:45:28.137 回答
0
SELECT  name
FROM    sys.objects
WHERE   type = 'P'
        AND name LIKE '%search_text%'
于 2012-08-29T19:49:32.873 回答
-1

上述方法都很好用,但更简单的方法是从 Red Gate 下载 SQL Search 的副本。它是一个免费的实用程序,可插入 SSMS 并允许您搜索整个服务器中的所有对象。

于 2012-08-30T02:55:52.063 回答