Czy istnieje sposób na zapytanie do bazy danych i pobranie listy wszystkich procedur przechowywanych wraz z ich parametrami?
Używam SQL Server 2000.Jak uzyskać listę wszystkich procedur składowanych i ich parametrów rozpoczynających się od określonego prefiksu?
10
A
Odpowiedz
26
Aby uzyskać informacje na temat procedur przechowywanych:
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
Aby znaleźć sprocs poczynając od pewnego przedrostka (na przykład "usp"):
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME LIKE 'usp%'
Aby znaleźć wszystkie parametry procedury przechowywanej:
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME='YourSprocName'
Aby znaleźć wszystkie parametry dla wszystkich procedur przechowywanych wyjściowych z pewnym przedrostek:
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME LIKE 'usp%'
4
spróbować tego:
select o.name,p.name from sys.all_parameters p inner join sys.all_objects o on p.object_id = o.object_id
where o.type = 'P'
-1
poniższa kwerenda zwraca procedur, funkcji i filtrów przez prefiks. Nie jestem jednak pewien, czy to działałoby na serwerze sql 2000. Pozostawiam to tutaj tak czy inaczej, ponieważ jest to bardzo przydatne zapytanie.
SELECT SCHEMA_NAME(SCHEMA_ID) AS [Schema],
SO.name AS [ObjectName],
SO.Type_Desc AS [ObjectType (UDF/SP)],
COALESCE(P.parameter_id,0) AS [ParameterID],
COALESCE(P.name, 'NO PARAMETER') AS [ParameterName],
COALESCE(TYPE_NAME(P.user_type_id),'') AS [ParameterDataType],
COALESCE(P.max_length,0) AS [ParameterMaxBytes],
COALESCE(P.is_output,0) AS [IsOutPutParameter]
FROM sys.objects AS SO
LEFT OUTER JOIN sys.parameters AS P
ON SO.OBJECT_ID = P.OBJECT_ID
WHERE SO.OBJECT_ID IN (SELECT OBJECT_ID
FROM sys.objects
WHERE TYPE IN ('P','FN'))
AND SO.NAME LIKE 'U%' --starting with a certain prefix
ORDER BY [Schema], SO.name, P.parameter_id
GO
1
Aby wyświetlić listę wszystkich procedur i ich parametrów, byłoby to w ten sposób:
SELECT o.name AS [Procedure name], p.name as [Parameter name]
FROM sys.parameters p INNER JOIN sysobjects o ON p.object_id = o.id
WHERE o.name LIKE 'prefix%' AND o.xtype = 'P'
To działa w SQL Server 2016, ale myślę, że to działa w starszych wersjach też.
Powiązane problemy
- 1. Wzorce procedur składowanych?
- 2. Jak znaleźć wywołania procedur składowanych?
- 3. Jak uzyskać listę wszystkich procedur wewnątrz wyroczni pakietów?
- 4. Dlaczego długość nazw procedur składowanych jest maksymalna?
- 5. Czy istnieje sposób wyszukiwania atrybutów rozpoczynających się od określonego ciągu w kodzie HTML?
- 6. Jak mogę uzyskać listę wszystkich funkcji przechowywanych w bazie danych określonego schematu w PostgreSQL?
- 7. Pobieranie przefiltrowanej listy procedur składowanych za pomocą komendy t-sql
- 8. Uzyskaj listę procedur składowanych utworzonych i/lub zmodyfikowanych w określonym dniu?
- 9. Jak znaleźć listę procedur składowanych, które mają wpływ na daną kolumnę?
- 10. wyświetla tablice mysql zaczynające się od prefiksu?
- 11. Jak wybrać węzły według atrybutów rozpoczynających się od ... w C#
- 12. Jak sprawdzić dostrojenie wydajności SQL Server dla procedur składowanych
- 13. Krojenie kolekcji FormCollection za pomocą klawiszy rozpoczynających się od określonego ciągu znaków
- 14. JavaScript: Jak uzyskać listę wszystkich otwartych okien
- 15. Krojenie słownika za pomocą klawiszy rozpoczynających się od określonego ciągu znaków
- 16. z grep słów rozpoczynających i kończących się
- 17. Jak otworzyć wszystkie pliki rozpoczynające się od określonego prefiksu w java?
- 18. Optymistyczna współbieżność przy użyciu procedur składowanych w podmiocie Entry Framework
- 19. Sprawdzanie zawartości procedur składowanych na serwerze SQL Server
- 20. Jak uzyskać listę wszystkich elementów znajdujących się w miejscu kliknięcia?
- 21. Wywołanie wielu procedur składowanych SQL Server w transakcji
- 22. Linux: jak uzyskać listę wszystkich widocznych okien?
- 23. Jak uzyskać listę wszystkich obiektów? - PostgreSQL
- 24. Jak mogę uzyskać listę wszystkich właściwości ABRecordRef?
- 25. Jak uzyskać listę wszystkich dostępnych poleceń powłoki?
- 26. Jak uzyskać listę wszystkich krajów i miast w szynach?
- 27. Jak uzyskać listę wszystkich użytkowników w SharePoint
- 28. Jak uzyskać listę wszystkich zainstalowanych czcionek?
- 29. Jak uzyskać rpmbuild do pobrania wszystkich źródeł dla określonego .spec?
- 30. Lista wszystkich procesów i ich bieżącej pamięci i zużycia procesora?
+1. Jednak rzecz o żądanym prefiksie. – AxelEckenberger
Czy powinienem zmienić WHERE SPECIFIC_NAME = ..., aby LUBIĆ "MyTable_ *"? –
Zaktualizowałem swoją odpowiedź, dodając 2 kolejne przykłady, aby wyszukać według określonego prefiksu. – AdaTheDev