Gibt es eine Möglichkeit, die Datenbank abzufragen und eine Liste aller gespeicherten Prozeduren und ihrer Parameter abzurufen?
ich SQL Server bin mit 2000Wie erhalte ich die Liste aller gespeicherten Prozeduren und ihrer Parameter beginnend mit einem bestimmten Präfix?
10
A
Antwort
26
Um Informationen zu den gespeicherten Prozeduren zu erhalten:
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
die sprocs mit einem bestimmten Präfix (zB "usp") beginnen zu finden:
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME LIKE 'usp%'
Um alle Parameter für eine gespeicherte Prozedur zu finden:
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME='YourSprocName'
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME LIKE 'usp%'
4
versuchen Sie diesen:
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
die folgende Abfrage gibt die Prozeduren, Funktionen und Filter durch einen PräfixUm mit einem bestimmten Präfix beginnen alle Parameter für alle gespeicherten Prozeduren zu finden. Ich bin mir aber nicht sicher, ob es auf SQL Server 2000 funktionieren würde. Ich lasse es hier trotzdem die Referenz, denn es ist eine gute nützliche Abfrage.
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'
Es funktioniert in SQL Server 2016, aber ich denke, es funktioniert auch in älteren Versionen:
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
Um eine Liste aller Verfahren und deren Parameter zu zeigen, es auf diese Weise sein würde.
Verwandte Themen
- 1. Auflisten aller gespeicherten Prozeduren mit Schemenname
- 2. Die Liste der gespeicherten Prozeduren abrufen, die zu einem bestimmten Datum erstellt und/oder geändert wurden?
- 3. Analysieren aller gespeicherten Prozeduren in einer Datenbank
- 4. LINQ to SQL mit gespeicherten Prozeduren und benutzerdefinierten Tabellentyp Parameter
- 5. Wie bekomme ich eine Liste aller Dateien mit einer bestimmten Erweiterung aus einem bestimmten Verzeichnis?
- 6. Metaprogrammierung mit gespeicherten Prozeduren?
- 7. Unterschied zwischen gespeicherten Prozeduren und erweiterten gespeicherten Prozeduren
- 8. Erhalten Sie die InsertId mit vorbereiteten Anweisungen und gespeicherten Prozeduren?
- 9. Wie bekomme ich eine Liste von Befehlen, die mit einem bestimmten Schlüssel (Combo) in Emacs beginnen?
- 10. Erhalte Liste aller Xorg Anzeigen
- 11. LazyLoading mit EF und gespeicherten Prozeduren
- 12. SQL-Abfrage: Liste aller IDs, die während eines bestimmten Zeitintervalls aktiv waren, sortiert nach ihrer Startzeit
- 13. Ausnahmemanagement in gespeicherten Prozeduren?
- 14. Letzte Datei mit einem bestimmten Präfix
- 15. Erhalte eine Liste von Namen, die mit bestimmten Buchstaben beginnen
- 16. Wie Debuggen postgresql gespeicherten Prozeduren?
- 17. Verwendung eines DateTime als Parameter in gespeicherten Prozeduren, Konvertierung fehlgeschlagen
- 18. Abrufen einer gefilterten Liste von gespeicherten Prozeduren mit t-sql
- 19. Wie gewähren Sie Ausführungsberechtigungen für die gespeicherten Prozeduren in einem bestimmten Schema?
- 20. Anfängerleitfaden zu gespeicherten Prozeduren mit MySQL?
- 21. Neuordnungs Liste beginnend bei bestimmten Position
- 22. Alle gespeicherten Prozeduren nach Erstellungsdatum aufgelistet?
- 23. Wie erhalte ich eine Liste aller COM-Automatisierungsserver?
- 24. SQL Server Abfrage, um alle gespeicherten Prozeduren, Funktionen, Tabellen und Ansichten mit ihren Parametern/Spalten
- 25. Wie bekomme ich die Liste der Dateien aus einem bestimmten Verzeichnis mit glob in expect Skript
- 26. Wie schreibe ich eine Endlosschleife mit gespeicherten Prozeduren von Oracle?
- 27. Wie erhalte ich eine Liste aller Arten von Virtus-Attributen?
- 28. Leistungsproblem mit 8 verschachtelten gespeicherten Prozeduren
- 29. Repository-Muster, EF mit gespeicherten Prozeduren
- 30. Temporäre Tabellen in gespeicherten Prozeduren
+1. Allerdings etwas über das angeforderte Präfix. – AxelEckenberger
Soll ich den WHERE SPECIFIC_NAME = ... zu LIKE "MyTable_ *" ändern? –
Meine Antwort wurde mit 2 weiteren Beispielen aktualisiert, um nach einem bestimmten Präfix zu suchen. – AdaTheDev