sp_stored_procedures (Transact-SQL)

Devuelve una lista de los procedimientos almacenados del entorno actual.

Icono de vínculo a temas 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-92 (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 AdventureWorks.

USE AdventureWorks2012;
GO
EXECUTE 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
EXECUTE sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2012', 1;

Vea también

Referencia

Procedimientos almacenados del catálogo (Transact-SQL)

Procedimientos almacenados del sistema (Transact-SQL)