sp_stored_procedures (Transact-SQL)
Devuelve una lista de los procedimientos almacenados del entorno actual.
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 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 Database Engine (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. Para obtener más información acerca de los esquemas predeterminados, vea Separación de esquemas de usuario.
El esquema dbo de la base de datos actual.
[ @qualifier = ] 'qualifier'
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 el carácter de subrayado (_), el signo de porcentaje (%) o los corchetes [ ]) se interpretan como caracteres comodín. fUsePattern es bit y tiene el valor predeterminado 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 un 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 |
Notas
Para obtener la máxima interoperatividad, el cliente de la puerta de enlace sólo 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 sólo se utilizan los nombres en tres partes. Esto significa que sólo 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, sólo 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 AdventureWorks;
GO
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 AdventureWorks;
GO
sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks', 1;