Partager via


sp_columns_ex (Transact-SQL)

Mis à jour : 17 juillet 2006

Renvoie les informations de colonne, à raison d'une ligne par colonne, pour les tables du serveur lié spécifié. sp_columns_ex renvoie les informations de colonne uniquement pour la colonne indiquée si column est spécifiée.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

sp_columns_ex [ @table_server = ] 'table_server' 
     [ , [ @table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_catalog' ] 
     [ , [ @column_name = ] 'column' ] 
     [ , [ @ODBCVer = ] 'ODBCVer' ]

Arguments

  • [ @table_server = ] 'table_server'
    Nom du serveur lié pour lequel sont renvoyées les informations des colonnes. table_server est de type sysname, sans valeur par défaut.
  • [ @table_name =] 'table_name'
    Nom de la table dont les informations de colonne doivent être renvoyées. table_name est de type sysname, avec la valeur NULL par défaut.
  • [ @table_schema = ] 'table_schema'
    Nom du schéma de la table dont les informations de colonne doivent être renvoyées. table_schema est de type sysname, avec la valeur NULL par défaut.
  • [ @table_catalog = ] 'table_catalog'
    Nom du catalogue de la table dont les informations de colonne doivent être renvoyées. table_catalog est de type sysname, avec la valeur NULL par défaut.
  • [ @column_name = ] 'column'
    Nom de la colonne de base de données dont les informations doivent être fournies. column est de type sysname, avec la valeur NULL par défaut.
  • [ @ODBCVer = ] 'ODBCVer'
    Version ODBC utilisée. ODBCVer est de type int, avec la valeur 2 par défaut, ce qui correspond à ODBC version 2. Les valeurs correctes sont 2 ou 3. Consultez la spécification ODBC SQLColumns pour connaître les différences de comportement entre les versions 2 et 3.

Notes

sp_columns_ex est exécuté en interrogeant l'ensemble de lignes COLUMNS de l'interface IDBSchemaRowset du fournisseur OLE DB correspondant à table_server. Les paramètres table_name, table_schema, table_catalog et column sont passés à cette interface afin de limiter le nombre de lignes renvoyées.

sp_columns_ex renvoie un ensemble de résultats vide si le fournisseur OLE DB du serveur lié spécifié ne gère pas l'ensemble de lignes COLUMNS de l'interface IDBSchemaRowset.

Autorisations

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

Valeurs des codes renvoyés

Aucune

Ensemble de résultats

Nom de colonne Type de données Description

TABLE_CAT

sysname

Nom d'identificateur de table ou de vue. Divers produits SGDB prennent en charge les noms de table en trois parties (qualifier.owner.name). Dans SQL Server 2005, cette colonne 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. Ce champ peut contenir la valeur NULL.

TABLE_SCHEM

sysname

Nom du propriétaire de la table ou de la vue. Dans SQL Server, cette colonne représente le nom de l'utilisateur de base de données qui a créé la table. Ce champ renvoie toujours une valeur.

TABLE_NAME

sysname

Nom de table ou de vue. Ce champ renvoie toujours une valeur.

COLUMN_NAME

sysname

Nom de colonne, pour chaque colonne de la TABLE_NAME renvoyée. Ce champ renvoie toujours une valeur.

DATA_TYPE

smallint

Valeur entière correspondant à des indicateurs de type ODBC. S'il s'agit d'un type de données qui ne peut pas être mappé avec un type ODBC, cette valeur est NULL. Le nom du type de données natif est renvoyé dans la colonne TYPE_NAME.

TYPE_NAME

varchar(13)

Chaîne représentant un type de données. Le SGBD sous-jacent dispose de ce nom de type de données.

COLUMN_SIZE

int

Nombre de chiffres significatifs. La valeur renvoyée pour la colonne PRECISION est en base 10.

BUFFER_LENGTH

int

Taille de transfert des données.1

DECIMAL_DIGITS

smallint

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

NUM_PREC_RADIX

smallint

Base des types numériques.

NULLABLE

smallint

Spécifie la possibilité de contenir une valeur NULL.

1 = les valeurs NULL sont autorisées.

0 = pas de valeur NULL.

REMARKS

varchar(254)

Ce champ renvoie toujours la valeur NULL.

COLUMN_DEF

varchar(254)

Valeur par défaut de la colonne

SQL Server 2005 diffère de SQL Server 2000 par sa manière de décoder et de stocker les expressions SQL dans les métadonnées de catalogue. La sémantique de l'expression décodée est équivalente au texte d'origine, par contre la syntaxe n'est pas garantie. Par exemple, les espaces sont supprimés de l'expression décodée. Pour plus d'informations, consultez Changements de comportement des fonctionnalités du moteur de base de données de SQL Server 2005.

SQL_DATA_TYPE

smallint

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

SQL_DATETIME_SUB

smallint

Sous-type de code pour le type de données datetime et pour le type de données interval de SQL-92. Pour les autres types de données, cette colonne renvoie la valeur NULL.

CHAR_OCTET_LENGTH

int

Longueur maximale, en octets, d'une colonne de type de données caractère ou entier. 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 dans la table porte le numéro 1. Cette colonne renvoie toujours une valeur.

IS_NULLABLE

varchar(254)

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

YES = la colonne peut inclure des valeurs NULL.

NO = la colonne ne peut pas inclure de valeurs NULL.

Cette colonne renvoie une chaîne de longueur zéro si la possibilité de valeurs 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 (Moteur de base de données).

Pour plus d'informations, consultez la documentation de Microsoft ODBC.

Exemple

L'exemple qui suit renvoie le type de données de la colonne Title de la table HumanResources.Employee dans la base de données AdventureWorks sur le serveur lié Seattle1.

EXEC sp_columns_ex 'Seattle1', 
   'Employee', 
   'HumanResources', 
   'AdventureWorks', 
   'Title';

Voir aussi

Référence

sp_catalogs (Transact-SQL)
sp_foreignkeys (Transact-SQL)
sp_indexes (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_primarykeys (Transact-SQL)
sp_tables_ex (Transact-SQL)
sp_table_privileges (Transact-SQL)
Procédures stockées système (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

17 juillet 2006

Nouveau contenu :
  • Dans la colonne COLUMN_DEF, ajout d'informations à propos du stockage des expressions SQL dans SQL Server 2005.