sp_stored_procedures (Transact-SQL)

Se aplica a: síSQL Server (todas las versiones admitidas) SíAzure SQL Database

Devuelve una lista de los procedimientos almacenados del entorno actual.

Icono de vínculo de tema 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 utilizado para devolver información del 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 de procedimientos 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 = ] 'qualifier' Es el nombre del calificador del procedimiento. el calificador es de tipo sysname y su valor predeterminado es NULL. Varios productos DBMS admiten nombres de tres partes para las tablas en el formulario (calificador. esquema. nombre. En SQL Server , el calificador 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 el carácter de subrayado (_), porcentaje (%) o corchetes []) se interpreta como caracteres comodín. fUsePattern es de bit y su valor predeterminado es 1.

0 = la coincidencia de patrones está desactivada.

1 = la coincidencia de patrones está activada.

Valores de código de retorno

None

Conjuntos de resultados

Nombre de la 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 un uso futuro.
NUM_OUTPUT_PARAMS int Reservado para un uso futuro.
NUM_RESULT_SETS int Reservado para un uso futuro.
COMENTARIOS 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

Observaciones

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;  

Consulte también

Procedimientos almacenados de catálogo (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)