按名称查找存储过程

有什么办法可以在SQL Server Management Studio存储过程中按名称或部分名称find? (在活动数据库上下文中)

感谢帮助

5 Solutions collect form web for “按名称查找存储过程”

您可以使用:

select * from sys.procedures where name like '%name_of_proc%' 

如果您需要代码,您可以在syscomments表中查找

 select text from syscomments c inner join sys.procedures p on p.object_id = c.object_id where p.name like '%name_of_proc%' 

编辑更新:

你也可以使用ansi标准版本

 SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME LIKE '%name_of_proc%' 

假设您在“对象浏览器详细信息”( F7 )中显示“存储过程”列表,请单击“filter”button并input名称(或部分名称)。

替代文字

这将适用于表格和视图(除其他外),而不仅仅是sprocs:

 SELECT '[' + s.name + '].[' + o.Name + ']', o.type_desc FROM sys.objects o JOIN sys.schemas s ON s.schema_id = o.schema_id WHERE o.name = 'CreateAllTheThings' -- if you are certain of the exact name OR o.name LIKE '%CreateAllThe%' -- if you are not so certain 

它还为您提供了在任何非平凡数据库(例如,需要通过名称查找存储过程的查询)的模式名称。

非常整洁的技巧我偶然发现尝试一些SQL注入,在search框中的对象浏览器只是使用你的百分比字符,这将search一切存储过程,函数,视图,表,模式,索引…我厌倦了更多的思考:)

search模式

你可以使用这个查询:

 SELECT ROUTINE_CATALOG AS DatabaseName , ROUTINE_SCHEMA AS SchemaName, SPECIFIC_NAME AS SPName , ROUTINE_DEFINITION AS SPBody , CREATED AS CreatedDate, LAST_ALTERED AS LastModificationDate FROM INFORMATION_SCHEMA.ROUTINES WHERE (ROUTINE_DEFINITION LIKE '%%') AND (ROUTINE_TYPE='PROCEDURE') AND (SPECIFIC_NAME LIKE '%AssessmentToolDegreeDel') 

正如你所看到的,你也可以在存储过程的内部进行search。

  • 如何在SQL Server Management Studio中键入一个新的行字符
  • 在SQL Server 2008 GUI中添加唯一约束?
  • 如何查找SQL Server Management Studio的服务器名称
  • 在Management Studio 2005中脚本所有存储过程
  • 如何在不使用MS SQL Server Management Studio的情况下更改SQL Server中的默认数据库?
  • 在SQL Server Management Studio中删除记住的login名和密码列表
  • CTRL + R不隐藏SSMS中的查询结果窗口
  • 如何从SSMS内执行一组.SQL文件?
  • 如何为包含所有存储行的现有SQL Server表生成INSERT脚本?
  • SQL Server Management Studio不会让我添加一个索引到表
  • 多列的唯一约束