Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Abfrage zum Auflisten aller gespeicherten Prozeduren

Wie Mike sagte, ist der beste Weg, information_schema zu verwenden . Solange Sie sich nicht in der Master-Datenbank befinden, werden gespeicherte Systemprozeduren nicht zurückgegeben.

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

Wenn Sie aus irgendeinem Grund nicht vom System gespeicherte Prozeduren in der Master-Datenbank hatten, können Sie die Abfrage verwenden (dies filtert die meisten gespeicherten Systemprozeduren heraus):

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