sp_sproc_columns (Transact-SQL)

Fournit des informations de colonne pour une fonction définie par l'utilisateur ou une procédure stockée unique dans l'environnement courant.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL

Syntaxe

sp_sproc_columns [[@procedure_name = ] 'name'] 
    [ , [@procedure_owner = ] 'owner'] 
    [ , [@procedure_qualifier = ] 'qualifier'] 
    [ , [@column_name = ] 'column_name']
    [ , [@ODBCVer = ] 'ODBCVer']
    [ , [@fUsePattern = ] 'fUsePattern']

Arguments

  • [ @procedure_name = ] 'name'
    Nom de la procédure utilisée pour renvoyer des informations de catalogue. name est de type nvarchar(390) et %, qui en est la valeur par défaut, représente toutes les tables de la base de données actuelle. La recherche de correspondance avec des caractères génériques est prise en charge.

  • [ @procedure_owner =] 'owner'
    Nom du propriétaire de la procédure. ownerest 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.

    Si l'utilisateur actuel possède une procédure du nom spécifié, les informations relatives à cette procédure sont retournées. Si owner n'est pas spécifié et que l'utilisateur actuel ne possède pas de procédure du nom spécifié, sp_sproc_columns va rechercher une procédure portant le nom spécifié et appartenant au propriétaire de la base de données. Si la procédure existe, les informations relatives à ses colonnes sont renvoyées.

  • [ @procedure_qualifier =] 'qualifier'
    Nom du qualificateur de la procédure. qualifier est de type sysname, avec NULL comme valeur par défaut. Divers produits SGBD prennent en charge les noms de table en trois parties (qualifier.owner.name). Dans SQL Server, ce paramètre représente le nom de la base de données. Dans certains SGBD, elle représente le nom (au sens du serveur) de l'environnement de base de données de la table.

  • [ @column_name =] 'column_name'
    Colonne unique utilisée lorsqu'une seule colonne d'informations de catalogue est souhaitée. column_name est de type nvarchar(384), avec NULL comme valeur par défaut. Si l'argument column_name est omis, toutes les colonnes sont retournées. La recherche de correspondance avec des caractères génériques est prise en charge. Pour assurer une interopérabilité maximale, le client de la passerelle ne doit utiliser que les modèles de comparaison standard ISO (caractères génériques % et _).

  • [ @ODBCVer =] 'ODBCVer'
    Version d'ODBC utilisée. ODBCVer est de type int avec 2 comme valeur par défaut, qui représente ODBC version 2.0. Pour plus d'informations sur la différence entre la version 2.0 et la version 3.0 d'ODBC, consultez la spécification ODBC SQLProcedureColumns pour ODBC version 3.0.

  • [ @fUsePattern =] 'fUsePattern'
    Détermine si le trait de soulignement (_), le signe de pourcentage (%) et les crochets ([ ]) sont interprétés en tant que caractères génériques. Les valeurs valides sont 0 (critères spéciaux désactivés) et 1 (critères spéciaux activés). fUsePattern est de type bit, avec 1 comme valeur par défaut.

Valeurs des codes de retour

Aucune

Jeux de résultats

Nom de 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.

COLUMN_NAME

sysname

Nom de colonne de chacune des colonnes de TABLE_NAME renvoyées. Cette colonne renvoie toujours une valeur.

COLUMN_TYPE

smallint

Ce champ renvoie toujours une valeur :

0 = SQL_PARAM_TYPE_UNKNOWN

1 = SQL_PARAM_TYPE_INPUT

2 = SQL_PARAM_TYPE_OUTPUT

3 = SQL_RESULT_COL

4 = SQL_PARAM_OUTPUT

5 = SQL_RETURN_VALUE

DATA_TYPE

smallint

Code entier d'un type de données ODBC. Si ce type de données ne peut pas être mappé à un type ISO, la valeur est NULL. Le nom de type de données natif est renvoyé dans la colonne TYPE_NAME.

TYPE_NAME

sysname

Représentation sous forme de chaîne du type de données. Nom du type de données, tel qu'il existe dans le SGBD sous-jacent.

PRECISION

int

Nombre de chiffres significatifs. La valeur de retour pour la colonne PRECISION est en base 10.

LENGTH

int

Taille de transfert des données.

SCALE

smallint

Nombre de chiffres situés à droite du séparateur décimal.

RADIX

smallint

Base des types numériques.

NULLABLE

smallint

Précise la possibilité de valeur nulle :

1 = Le type de données peut être créé en autorisant des valeurs NULL.

0 = Les valeurs NULL ne sont pas autorisées.

NOTES

varchar(254)

Description de la colonne de procédure. SQL Server ne retourne pas de valeur pour cette colonne.

COLUMN_DEF

nvarchar(4000)

Valeur par défaut de la colonne.

SQL_DATA_TYPE

smallint

Valeur du type de données SQL telle qu'il apparaît dans le champ TYPE du descripteur. Cette colonne est la même que la colonne DATA_TYPE, excepté pour les types de données datetime et interval ISO. Cette colonne renvoie toujours une valeur.

SQL_DATETIME_SUB

smallint

datetime ou sous-code interval ISO si la valeur de SQL_DATA_TYPE est SQL_DATETIME ou SQL_INTERVAL. Pour les types de données autres que datetime et interval ISO, ce champ prend la valeur NULL.

CHAR_OCTET_LENGTH

int

Longueur maximale en octets d'une colonne de type de données character ou binary. Pour tous les autres types de données, cette colonne renvoie une valeur NULL.

ORDINAL_POSITION

int

Numéro d'ordre de la colonne dans la table. La première colonne de la table est la colonne 1. Cette colonne retourne toujours une valeur.

IS_NULLABLE

varchar(254)

Possibilité de valeur nulle dans la colonne de la table. Les règles ISO sont utilisées pour déterminer la possibilité de valeur NULL. Un SGBD compatible avec la norme ISO ne peut pas renvoyer de chaîne vide.

Affiche YES si la colonne peut comprendre des valeurs NULL et NO dans le cas contraire.

Cette colonne renvoie une chaîne de longueur zéro si la possibilité de valeur NULL n'est pas connue.

La valeur renvoyée pour cette colonne est différente de celle renvoyée pour la colonne NULLABLE.

SS_DATA_TYPE

tinyint

Type de données SQL Server utilisé par les procédures stockées étendues. Pour plus d'informations, consultez Types de données (Transact-SQL).

Notes

sp_sproc_columns est équivalente à SQLProcedureColumns dans ODBC. Les résultats renvoyés sont triés par PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME et l'ordre dans lequel les paramètres apparaissent dans la définition de la procédure.

Autorisations

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

Voir aussi

Référence

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

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