sp_stored_procedures (Transact-SQL)

S’applique à :yesSQL Server (toutes les versions prises en charge) YesAzure SQL Database YesAzure SQL Managed Instance

Renvoie la liste des procédures stockées dans l'environnement actuel.

Topic link iconConventions de la syntaxe Transact-SQL

Syntaxe

  
sp_stored_procedures [ [ @sp_name = ] 'name' ]   
    [ , [ @sp_owner = ] 'schema']   
    [ , [ @sp_qualifier = ] 'qualifier' ]  
    [ , [@fUsePattern = ] 'fUsePattern' ]  

Arguments

[ @sp_name = ] 'name' Nom de la procédure utilisée pour retourner les informations du catalogue. name is nvarchar(390), with a default of NULL. La recherche de correspondance avec des caractères génériques est prise en charge.

[ @sp_owner = ] 'schema' Nom du schéma auquel appartient la procédure. le schéma 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 le propriétaire n’est pas spécifié, les règles de visibilité de procédure par défaut du SGBD sous-jacent 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, le 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.

[ @qualifier = ] 'qualifier' Nom du qualificateur de procédure. le qualificateur est sysname, avec la valeur par défaut NULL. Divers produits SGBD prennent en charge le nommage en trois parties pour les tables sous la forme (qualificateur.schéma.nom. Dans SQL Server, le qualificateur 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 [ ]) sont interprétés comme des caractères génériques. fUsePattern est bit, avec une valeur par défaut de 1.

0 = La mise en correspondance des modèles est désactivée.

1 = Correspondance de modèle activée.

Codet de retour

Aucun

Jeux 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.
NOTES 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 2.0. Cette valeur peut être l'une des suivantes :

0 = SQL_PT_UNKNOWN

1 = SQL_PT_PROCEDURE

2 = SQL_PT_FUNCTION

Remarques

Pour une interopérabilité maximale, le client de la passerelle doit utiliser seulement les recherches de correspondance avec des caractères génériques de SQL (caractères génériques % et _).

Les informations d'autorisations relatives à l'exécution par l'utilisateur actuel d'une procédure stockée particulière ne sont pas nécessairement vérifiées ; l'accès n'est donc pas garanti. Notez que la dénomination en trois parties est utilisée. Cela signifie que seules les procédures stockées locales, et non les procédures stockées distantes (qui nécessitent un nom en quatre parties), sont retournées lorsqu’elles sont exécutées sur SQL Server. Si l’attribut serveur ACCESSIBLE_SPROC 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 dans 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. Renvoi de toutes les procédures stockées présentes dans la base de données active

L’exemple suivant retourne toutes les procédures stockées dans la base de données AdventureWorks2012.

USE AdventureWorks2012;  
GO  
EXEC sp_stored_procedures;  

B. Renvoi d'une procédure stockée unique

L'exemple suivant retourne un jeu de résultats pour la procédure stockée uspLogError.

USE AdventureWorks2012;  
GO  
sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2012', 1;  

Voir aussi

Procédures stockées de catalogue (Transact-SQL)
Procédures stockées système (Transact-SQL)