Partager via


sp_stored_procedures (Transact-SQL)

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

S'applique à : SQL Server (SQL Server 2008 via la version actuelle, Base de données SQL Windows Azure (version initiale via la version actuelle.

Icône Lien de rubrique Conventions 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 renvoyer des informations de catalogue. name est de type nvarchar(390), avec NULL comme valeur par défaut. 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. schema est de type nvarchar(384), avec NULL comme valeur par défaut. La recherche de correspondance avec des caractères génériques est prise en charge. Si owner n'est pas spécifié, les règles de visibilité de la procédure par défaut du SGBD sous-jacent s'appliquent.

    Dans SQL Server, si le schéma actif contient une procédure avec le nom spécifié, celle-ci est renvoyée. Si une procédure stockée non qualifiée est spécifiée, le moteur de base de données la recherche 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 la procédure. qualifier est de type sysname, avec NULL comme valeur par défaut. Différents produits SGBD prennent en charge la dénomination des tables en trois parties sous la forme (qualifier**.schema.**name). Dans SQL Server, 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 les caractères de trait de soulignement (_), de pourcentage (%) ou les crochets [ ]) sont interprétés comme des caractères génériques. fUsePattern est de type bit, avec 1 comme valeur par défaut.

    0 = La recherche de correspondance avec des critères est désactivée.

    1 = La recherche de correspondance avec des critères est activée.

Valeurs des codes de retour

None

Jeux de résultats

Nom de la colonne

Type de données

Description

PROCEDURE_QUALIFIER

sysname

Nom du qualificateur de la 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 ultérieur.

NUM_OUTPUT_PARAMS

int

Réservé pour un usage ultérieur.

NUM_RESULT_SETS

int

Réservé pour un usage ultérieur.

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 2.0. Les valeurs possibles sont :

0 = SQL_PT_UNKNOWN

1 = SQL_PT_PROCEDURE

2 = SQL_PT_FUNCTION

Notes

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 pas les procédures stockées distantes (qui utilisent la dénomination en quatre parties), sont renvoyées dans SQL Server. Si, dans l'ensemble de résultats de sp_server_info, l'attribut de serveur ACCESSIBLE_SPROC est Y, seules les procédures stockées que peut exécuter l'utilisateur actuel sont renvoyées.

La procédure stockée sp_stored_procedures est équivalente à SQLProcedures dans ODBC. Les résultats renvoyés sont triés par PROCEDURE_QUALIFIER, PROCEDURE_OWNER et PROCEDURE_NAME.

Autorisations

Nécessite l'autorisation SELECT sur le schéma.

Exemples

A.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 contenues 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

Référence

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

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