Qué consulta puede devolver los nombres de todos los procedimientos almacenados en una base de datos de SQL Server
Si la consulta pudiera excluir los procedimientos almacenados del sistema, eso sería aún más útil.
sql-server
tsql
p.campbell
fuente
fuente
fuente
dbo.sys*
vistas. Esta consulta también: filtra los procedimientos almacenados CLR, no filtra los procesos almacenados del sistema y devuelve [type] cuando se sabe que [type] siempre será 'P' ya que es la condición WHERE.Según tengo entendido, el método "preferido" es usar las tablas de información_esquema:
fuente
Lo siguiente devolverá todos los procedimientos en la base de datos seleccionada
fuente
Puede probar esta consulta para obtener procedimientos y funciones almacenados:
fuente
Si está utilizando SQL Server 2005, lo siguiente funcionará:
fuente
Puede usar una de las siguientes consultas para encontrar la lista de Procedimientos almacenados en una base de datos:
Consulta1:
Consulta2:
Si desea encontrar la lista de todos los SP en todas las bases de datos , puede usar la siguiente consulta:
fuente
Seleccione todos los procedimientos almacenados y vistas
fuente
Esto también puede ayudar a enumerar el procedimiento, excepto los procedimientos del sistema:
fuente
sys.all_objects
ya que está filtrandois_ms_shipped=0
. Puede contener disparadores DDL, pero esos serían filtrados portype='p'
. También podrías usarlosys.objects
.Lamentablemente
INFORMATION_SCHEMA
no contiene información sobre los procs del sistema.fuente
sys.procedures where is_ms_shipped = 0
? ¿Y por qué ejecutaría una funciónobjectproperty(object_id, N'IsMSShipped')
para cada fila cuando hay un campois_ms_shipped
que contiene ese valor? En esa misma línea, ¿por qué ejecutar esa función nuevamente cuando[type] IN ('P', 'PC')
hace lo mismo? Este método es innecesariamente complicado e ineficiente.Solo los nombres:
fuente
Modifiqué la excelente publicación de LostCajun anterior para excluir los procedimientos almacenados del sistema. También eliminé "Extracto". del código porque no pude entender para qué sirve y me dio errores. La declaración "buscar siguiente" dentro del bucle también necesitaba una cláusula "into".
fuente
la mejor manera de obtener objetos es usar sys.sql_modules. puede encontrar todo lo que desee de esta tabla y unir esta tabla con otra tabla para obtener más información por object_id
fuente
fuente
dbo.sys*
vistas. Esta consulta también filtra los procedimientos almacenados CLR.Escribí este simple tsql para enumerar el texto de todos los procedimientos almacenados. Asegúrese de sustituir el nombre de su base de datos en el campo.
fuente
Esto le dará solo los nombres de los procedimientos almacenados.
fuente
Esto mostrará todos los procedimientos almacenados y el código:
fuente
Esto, enumera todas las cosas que quieres
En SQL Server 2005, 2008, 2012:
O
fuente
sp_tables
,. Además, "PROCEDIMIENTO" no es una opción válida parasp_tables
. Las únicas opciones para@table_type
son: 'TABLA DEL SISTEMA', 'TABLA' y 'VER'.Esto devolverá todo el nombre de sp
fuente
[type]
debería ser[type] IN ('P', 'PC')
si no está filtrando los procesos almacenados CLR que están potencialmente allí.Pruebe este enlace codeplex, esta utilidad ayuda a localizar todos los procedimientos almacenados de la base de datos sql.
https://exportmssqlproc.codeplex.com/
fuente
fuente
Esto funcionará en mssql.
fuente
Seleccione la lista de procedimientos almacenados en el servidor SQL. Consulte aquí para obtener más información: https://coderrooms.blogspot.com/2017/06/select-list-of-stored-procedure-in-sql.html
fuente
PaymentDetails
tabla. El OP quiere una lista de procedimientos almacenados reales.