sp_stored_procedures (Transact-SQL)

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

Icône Lien de rubriqueConventions de syntaxe de 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). Sa valeur par défaut est 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. L'argument schema est de type nvarchar(384). Sa valeur par défaut est NULL. 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 SGDB 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é. Pour plus d'informations sur les schémas par défaut, consultez Séparation du schéma et de l'utilisateur.

    • Schéma dbo dans la base de données active.

  • [ @qualifier = ] 'qualifier'
    Nom du qualificateur de la procédure. qualifier est de type sysname. Sa valeur par défaut est NULL. Différents produits SGDB 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. Sa valeur par défaut est 1.

    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 renvoyés

Aucun

Ensembles 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 renvoie pas de valeur pour cette colonne.

PROCEDURE_TYPE

smallint

Type de la 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-92 (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 AdventureWorks2008R2.

USE AdventureWorks2008R2;
GO
EXECUTE 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 AdventureWorks2008R2;
GO
EXECUTE sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2008R2', 1;