sp_stored_procedures (Transact-SQL)
S’applique à : SQL ServerAzure SQL Database Azure SQL Managed Instance
Renvoie la liste des procédures stockées dans l'environnement actuel.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_stored_procedures
[ [ @sp_name = ] N'sp_name' ]
[ , [ @sp_owner = ] N'sp_owner' ]
[ , [ @sp_qualifier = ] N'sp_qualifier' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
Arguments
[ @sp_name = ] N’sp_name'
Nom de la procédure utilisée pour retourner les informations du catalogue. @sp_name est nvarchar(390), avec la valeur par défaut NULL
. La recherche de correspondance avec des caractères génériques est prise en charge.
[ @sp_owner = ] N’sp_owner'
Nom du schéma auquel appartient la procédure. @sp_owner est nvarchar(384), avec la valeur par défaut NULL
. La recherche de correspondance avec des caractères génériques est prise en charge. Si @sp_owner n’est pas spécifié, les règles de visibilité de procédure par défaut du système de gestion de base de données sous-jacent (SGBD) s’appliquent.
Dans SQL Server, si le schéma actuel contient une procédure portant le nom spécifié, cette procédure est retournée. Si une procédure stockée non qualifiée est spécifiée, la Moteur de base de données recherche la procédure dans l’ordre suivant :
Schéma
sys
de la base de données active.Le schéma par défaut de l'appelant est exécuté dans un traitement ou dans des instructions SQL dynamiques ; ou bien, si le nom de la procédure non qualifiée figure dans le corps d'une autre définition de procédure, le schéma qui contient cette procédure est ensuite recherché.
Schéma
dbo
dans la base de données active.
[ @sp_qualifier = ] N’sp_qualifier'
Nom du qualificateur de procédure. @sp_qualifier est sysname, avec la valeur par défaut NULL
. Différents produits SGBD prennent en charge le nommage en trois parties pour les tables sous la forme <qualifier>.<schema>.<name>
. Dans SQL Server, @sp_qualifier représente le nom de la base de données. Dans certains produits, elle représente le nom du serveur de l'environnement de base de données de la table.
[ @fUsePattern = ] fUsePattern
Détermine si le trait de soulignement (), le pourcentage (_
%
) ou les crochets ([
et]
) sont interprétés comme des caractères génériques. @fUsePattern est bit, avec la valeur par défaut 1
.
0
= La correspondance des modèles est désactivée.1
= Correspondance de modèle activée.
Valeurs des codes de retour
Aucune.
Jeu de résultats
Nom de la colonne | Type de données | Description |
---|---|---|
PROCEDURE_QUALIFIER |
sysname | Nom du qualificateur de procédure. Cette colonne peut être NULL . |
PROCEDURE_OWNER |
sysname | Nom du propriétaire de la procédure. Cette colonne renvoie toujours une valeur. |
PROCEDURE_NAME |
nvarchar(134) | Nom de la procédure. Cette colonne renvoie toujours une valeur. |
NUM_INPUT_PARAMS |
int | Réservé pour un usage futur. |
NUM_OUTPUT_PARAMS |
int | Réservé pour un usage futur. |
NUM_RESULT_SETS |
int | Réservé pour un usage futur. |
REMARKS |
varchar(254) | Description de la procédure. SQL Server ne retourne pas de valeur pour cette colonne. |
PROCEDURE_TYPE |
smallint | Type de procédure. SQL Server retourne toujours la version 2.0. Cette valeur peut être l’une des options suivantes : 0 = SQL_PT_UNKNOWN 1 = SQL_PT_PROCEDURE 2 = SQL_PT_FUNCTION |
Notes
Pour une interopérabilité maximale, le client de passerelle doit supposer uniquement la correspondance de modèle standard SQL, à savoir les caractères génériques de pourcentage (%
) et de trait de soulignement (_
).
Les informations d’autorisation relatives à l’exécution de l’accès à une procédure stockée spécifique pour l’utilisateur actuel ne sont pas nécessairement vérifiées ; par conséquent, l’accès n’est pas garanti. Seul un nommage en trois parties est utilisé. Cela signifie que seules les procédures stockées locales, et non les procédures stockées distantes (qui nécessitent un nommage en quatre parties), sont retournées lorsqu’elles sont exécutées sur SQL Server. Si l’attribut ACCESSIBLE_SPROC
serveur est Y dans le jeu de résultats pour sp_server_info
, seules les procédures stockées qui peuvent être exécutées par l’utilisateur actuel sont retournées.
sp_stored_procedures
équivaut à SQLProcedures
ODBC. Les résultats retournés sont classés par PROCEDURE_QUALIFIER
, PROCEDURE_OWNER
et PROCEDURE_NAME
.
autorisations
Nécessite l’autorisation SELECT
sur le schéma.
Exemples
R. Retourner toutes les procédures stockées dans la base de données active
L’exemple suivant retourne toutes les procédures stockées dans la base de données AdventureWorks2022.
USE AdventureWorks2022;
GO
EXEC sp_stored_procedures;
B. Retourner une seule procédure stockée
L'exemple suivant retourne un jeu de résultats pour la procédure stockée uspLogError
.
USE AdventureWorks2022;
GO
sp_stored_procedures N'uspLogError',
N'dbo',
N'AdventureWorks2022',
1;