Zoals Mike al zei, is de beste manier om information_schema
. te gebruiken . Zolang u zich niet in de hoofddatabase bevindt, worden door het systeem opgeslagen procedures niet geretourneerd.
SELECT *
FROM DatabaseName.INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
Als u om de een of andere reden niet-door het systeem opgeslagen procedures in de hoofddatabase had, kunt u de query gebruiken (dit zal de MEESTE door het systeem opgeslagen procedures uitfilteren):
SELECT *
FROM [master].INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
AND LEFT(ROUTINE_NAME, 3) NOT IN ('sp_', 'xp_', 'ms_')