2010-03-26 13 views
15

Próbuję uzyskać listę procedur składowanych w t-sql. Używam linii:Pobieranie przefiltrowanej listy procedur składowanych za pomocą komendy t-sql

exec sys.sp_stored_procedures; 

Chciałbym jednak filtrować wyniki z powrotem, więc mam tylko tworzone przez użytkownika procedur przechowywanych. Chciałbym odfiltrować sp_ *, dt_ *, fn_ *, xp_ * i wszystko inne, które jest procedurą przechowywaną w systemie i nie interesuje mnie. Jak mogę manipulować zwróconym zestawem wyników?

Korzystanie z ekspresowego programu Sql Server 2008.

Rozwiązany! Oto co kiedyś:

SELECT name FROM sys.procedures 
WHERE [type] = 'P' 
AND name NOT LIKE 'sp_%' 
AND name NOT LIKE 'dt_%' 
ORDER BY name ASC; 
+0

tytuł to pytanie nie odpowiada rozwiązanie może być tytuł zredagowane do "jak wyświetlić listę procedur składowanych"? –

+0

Zgadzam się, tytuł był okropny. Zaktualizowałem to. – DanDan

Odpowiedz

15

zamiast przy użyciu procedury przechowywanej można stosować następujące widoki:

Select * From sys.procedures 
Where [Type] = 'P' 

lub

Select * From Information_Schema.Routines 
+0

Dzięki! Wrócę pełne rozwiązanie z powrotem na moje pytanie. – DanDan

2

Wybierz elementy z sysobjects table i używać WHERE type = 'P' dla procedur składowanych i filtra na name.

1
SELECT [Routine_Name] 
FROM [INFORMATION_SCHEMA].[ROUTINES] 
WHERE [ROUTINE_TYPE] = 'PROCEDURE' 
Powiązane problemy