Esiste un modo per interrogare il database e recuperare un elenco di tutte le stored procedure e dei relativi parametri?
Sto usando SQL Server 2000.Come si ottiene l'elenco di tutte le stored procedure e i relativi parametri che iniziano con un determinato prefisso?
10
A
risposta
26
Per avere informazioni sulle stored procedure:
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
per trovare lo sprocs partire con un certo prefisso (ad esempio "USP"):
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME LIKE 'usp%'
Per trovare tutti i parametri per una stored procedure:
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME='YourSprocName'
Per trovare tutti i parametri per tutte le stored procedure che iniziano con un certo prefisso:
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME LIKE 'usp%'
4
provare questo:
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
la seguente query restituisce le procedure, funzioni e filtri da un prefisso. Non sono sicuro, se funzionasse su SQL Server 2000. Lascio comunque qui il riferimento, perché è una buona query utile.
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
per visualizzare un elenco di tutte le procedure ei relativi parametri, sarebbe in questo modo:
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'
Funziona in SQL Server 2016, ma credo che funziona nelle versioni precedenti anche.
Problemi correlati
- 1. Elimina tutte le stored procedure contemporaneamente
- 2. stored procedure con numero variabile di parametri
- 3. La sintassi controlla tutte le stored procedure?
- 4. MySQL (stored procedure) - parametri e query
- 5. GRANT ESEGUI a tutte le stored procedure
- 6. Chiamata alla stored procedure con parametri
- 7. recupera i parametri dalla stored procedure?
- 8. valori di tabella di parametri in una stored procedure ottiene i permessi di esecuzione errore
- 9. Trova tutte le chiamate di stored procedure MySQL?
- 10. Analizza tutte le stored procedure in un database
- 11. Trova elementi personalizzati che iniziano con un prefisso specificato
- 12. Elenca tutte le stored procedure con nome schema
- 13. Utilizzando operatore LIKE con stored procedure parametri
- 14. Come chiamare una stored procedure (con parametri) da un'altra stored procedure senza tabella temporanea
- 15. Come trovo tutte le stored procedure che inseriscono, aggiornano o cancellano i record?
- 16. Come minimizzare tutte le stored procedure SQL in una volta
- 17. Come chiamare stored procedure (con 2 parametri) in una stored procedure?
- 18. Come si elencano tutte le proprietà in un oggetto e si ottengono i relativi valori?
- 19. Come chiamare una stored procedure da un'altra stored procedure?
- 20. Come passare i parametri alla stored procedure da Entity Framework?
- 21. Come si eliminano i risultati da una stored procedure da una stored procedure?
- 22. Come trovare le stored procedure per nome?
- 23. Elimina in modo ricorsivo tutte le cartelle che iniziano con
- 24. Utilizzo di UPDATE in stored procedure con parametri facoltativi
- 25. Controllare se SELECT restituisce tutte le righe in stored procedure
- 26. Come modificare lo schema di tutte le tabelle, viste e stored procedure in MSSQL
- 27. stored procedure con sqlAlchemy
- 28. Come si eliminano tutte le righe che iniziano con "stringa" in unix sh?
- 29. Chiamata di stored procedure SSIS
- 30. Parametri ADO classici e valori stimati in tabella Stored procedure
+1. Tuttavia, cosa sul prefisso richiesto. – AxelEckenberger
Devo cambiare WHERE SPECIFIC_NAME = ... in LIKE "MyTable_ *"? –
Aggiornato la mia risposta con 2 ulteriori esempi, per cercare con un certo prefisso. – AdaTheDev