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_')