Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie o listę wszystkich procedur składowanych

Jak stwierdził Mike, najlepszym sposobem jest użycie information_schema . Dopóki nie znajdujesz się w głównej bazie danych, systemowe procedury składowane nie zostaną zwrócone.

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

Jeśli z jakiegoś powodu w głównej bazie danych znajdowały się niesystemowe procedury składowane, możesz użyć zapytania (to odfiltruje WIĘKSZOŚĆ systemowych procedur składowanych):

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównaj daty w T-SQL, ignorując część czasu

  2. Korzystanie z indeksów w tabelach SQL Server zoptymalizowanych pod kątem pamięci

  3. Zwróć typ wyzwalacza DML w tabeli w SQL Server

  4. Liczenie DISTINCT w wielu kolumnach

  5. Korzystanie z warunkowej instrukcji UPDATE w SQL