查询列出所有存储过程

12 浏览
0 Comments

查询列出所有存储过程

如何查询返回SQL Server数据库中所有存储过程的名称

如果查询可以排除系统存储过程,那就更有帮助了。

admin 更改状态以发布 2023年5月24日
0
0 Comments
SELECT name, 
       type
  FROM dbo.sysobjects
 WHERE (type = 'P')

(该文本中没有需要翻译的内容)

0
0 Comments

正如Mike所说的那样,最好的方法是使用information_schema。只要你不在master数据库中,系统存储过程就不会被返回。

SELECT * 
  FROM DatabaseName.INFORMATION_SCHEMA.ROUTINES
 WHERE ROUTINE_TYPE = 'PROCEDURE'

如果由于某种原因,你在master数据库中有非系统存储过程,你可以使用以下查询(这将过滤掉大多数系统存储过程):

SELECT * 
  FROM [master].INFORMATION_SCHEMA.ROUTINES
 WHERE ROUTINE_TYPE = 'PROCEDURE' 
   AND LEFT(ROUTINE_NAME, 3) NOT IN ('sp_', 'xp_', 'ms_')

0