Partager via


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_OWNERet 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;