すべてのストアドプロシージャを一覧表示するクエリ 質問する

すべてのストアドプロシージャを一覧表示するクエリ 質問する

SQL Server データベース内のすべてのストアド プロシージャの名前を返すクエリは何ですか。

クエリでシステム ストアド プロシージャを除外できれば、さらに役立ちます。

ベストアンサー1

Mike が述べたように、最善の方法は を使用することですinformation_schema。マスター データベースにいない限り、システム ストアド プロシージャは返されません。

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

何らかの理由でマスター データベースにシステム以外のストアド プロシージャがある場合は、次のクエリを使用できます (これにより、ほとんどのシステム ストアド プロシージャが除外されます)。

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

おすすめ記事