sp_stored_procedures (Transact-SQL)
Devuelve una lista de los procedimientos almacenados del entorno actual.
Se aplica a: SQL Server (SQL Server 2008 a versión actual), Windows Azure SQL Database (Versión inicial a versión actual). |
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_stored_procedures [ [ @sp_name = ] 'name' ]
[ , [ @sp_owner = ] 'schema']
[ , [ @sp_qualifier = ] 'qualifier' ]
[ , [@fUsePattern = ] 'fUsePattern' ]
Argumentos
[ @sp_name = ] 'name'
Es el nombre del procedimiento que se utiliza para devolver información de catálogo. name es de tipo nvarchar(390) y su valor predeterminado es NULL. Se admite la coincidencia de patrón de caracteres comodín.[ @sp_owner = ] 'schema'
Es el nombre del esquema al que pertenece el procedimiento. schema es de tipo nvarchar(384) y su valor predeterminado es NULL. Se admite la coincidencia de patrón de caracteres comodín. Si no se especifica owner, se aplican las reglas predeterminadas de visibilidad del procedimiento del DBMS subyacente.En SQL Server, si el esquema actual contiene un procedimiento con el nombre especificado, se devuelve ese procedimiento. Si se especifica un procedimiento almacenado no calificado, el Motor de base de datos busca el procedimiento siguiendo este orden:
El esquema sys de la base de datos actual.
El esquema predeterminado del autor de la llamada se ejecuta en un lote o en SQL dinámico; o, si el nombre del procedimiento no calificado aparece dentro del cuerpo de otra definición de procedimiento, se busca el esquema que contiene este otro procedimiento a continuación.
El esquema dbo de la base de datos actual.
[ @qualifier = ] 'calificador'
Es el nombre del calificador del procedimiento. qualifier es de tipo sysname y su valor predeterminado es NULL. Varios productos DBMS admiten para las tablas los nombres formados por tres componentes (qualifier**.schema.**name. En SQL Server, qualifier representa el nombre de la base de datos. En algunos productos, representa el nombre del servidor del entorno de base de datos de la tabla.[ @fUsePattern = ] 'fUsePattern'
Determina si los caracteres de subrayado (_), porcentaje (%) y corchete ([ ]) se interpretan como caracteres comodín. fUsePattern es de tipo bit y su valor predeterminado es 1.0 = Coincidencia de patrón desactivada.
1 = Coincidencia de patrón activada.
Valores de código de retorno
Ninguno
Conjuntos de resultados
Nombre de columna |
Tipo de datos |
Descripción |
---|---|---|
PROCEDURE_QUALIFIER |
sysname |
Nombre del calificador del procedimiento. Esta columna puede ser NULL. |
PROCEDURE_OWNER |
sysname |
Nombre del propietario del procedimiento. Esta columna siempre devuelve un valor. |
PROCEDURE_NAME |
nvarchar(134) |
Nombre del procedimiento. Esta columna siempre devuelve un valor. |
NUM_INPUT_PARAMS |
int |
Reservado para uso futuro. |
NUM_OUTPUT_PARAMS |
int |
Reservado para uso futuro. |
NUM_RESULT_SETS |
int |
Reservado para uso futuro. |
REMARKS |
varchar(254) |
Descripción del procedimiento. SQL Server no devuelve ningún valor para esta columna. |
PROCEDURE_TYPE |
smallint |
Tipo de procedimiento. SQL Server siempre devuelve 2.0. Este valor puede ser uno de los siguientes: 0 = SQL_PT_UNKNOWN 1 = SQL_PT_PROCEDURE 2 = SQL_PT_FUNCTION |
Comentarios
Para obtener la máxima interoperatividad, el cliente de la puerta de enlace solo debe dar por supuesta la coincidencia de patrón estándar de SQL (los caracteres de comodín % y _).
La información de permisos acerca del acceso de ejecución del usuario actual para un procedimiento almacenado específico no se comprueba necesariamente, por lo tanto, el acceso no está garantizado. Observe que solo se utilizan los nombres en tres partes. Esto significa que solo se devolverán los procedimientos almacenados locales, y no los remotos (que precisan nombres de cuatro partes), cuando se ejecuten en SQL Server. Si el atributo de servidor ACCESSIBLE_SPROC es Y en el conjunto de resultados de sp_server_info, solo se devuelven los procedimientos almacenados que puede ejecutar el usuario actual.
sp_stored_procedures es equivalente a SQLProcedures en ODBC. Los resultados devueltos se ordenan por PROCEDURE_QUALIFIER, PROCEDURE_OWNER y PROCEDURE_NAME.
Permisos
Es necesario contar con un permiso de tipo SELECT sobre el esquema.
Ejemplos
A.Devolver todos los procedimientos almacenados en la base de datos actual
En el ejemplo siguiente se devuelven todos los procedimientos almacenados en la base de datos AdventureWorks2012.
USE AdventureWorks2012;
GO
EXEC sp_stored_procedures;
B.Devolver un solo procedimiento almacenado
En el ejemplo siguiente se devuelve un conjunto de resultados para el procedimiento almacenado uspLogError.
USE AdventureWorks2012;
GO
sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2012', 1;