sp_columns_ex (Transact-SQL)
Renvoie les informations de colonne, à raison d'une ligne par colonne, pour les tables du serveur lié spécifiées. sp_columns_ex renvoie les informations de colonne uniquement pour la colonne indiquée si column est spécifiée.
Conventions 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 retournées les informations de colonne. table_server est de type sysname et n'a pas de valeur par défaut.[ @table_name = ] 'table_name'
Nom de la table pour laquelle sont retournées les informations de colonne. table_name est de type sysname, avec NULL comme valeur par défaut.[ @table_schema = ] 'table_schema'
Nom du schéma de la table pour lequel sont retournées les informations de colonne. table_schema est de type sysname, avec NULL comme valeur par défaut.[ @table_catalog = ] 'table_catalog'
Nom du catalogue de la table pour lequel sont retournées les informations de colonne. table_catalog est de type sysname, avec NULL comme valeur par défaut.[ @column_name = ] 'column'
Nom de la colonne de base de données pour laquelle des informations doivent être fournies. column est de type sysname, avec NULL comme valeur par défaut.[ @ODBCVer = ] 'ODBCVer'
Version d'ODBC actuellement utilisée. ODBCVer est de type int, avec 2 comme valeur par défaut. Cela indique ODBC version 2. Les valeurs valides sont 2 ou 3. Consultez la spécification ODBC SQLColumns pour connaître les différences de comportement entre les versions 2 et 3.
Valeurs des codes de retour
Aucune
Jeux de résultats
Nom de la colonne |
Type de données |
Description |
---|---|---|
TABLE_CAT |
sysname |
Nom du qualificateur de la table ou de la vue. Certains produits SGBD prennent en charge les noms de table en trois parties (qualifier.owner.name). Dans SQL Server, cette colonne représente le nom de la base de données. Dans d'autres produits, elle représente le nom 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 retourne toujours une valeur. |
TABLE_NAME |
sysname |
Nom de table ou de vue. Ce champ retourne toujours une valeur. |
COLUMN_NAME |
sysname |
Nom de colonne, pour chaque colonne de la TABLE_NAME renvoyée. Ce champ retourne 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. |
NOTES |
varchar(254) |
Ce champ retourne toujours la valeur NULL. |
COLUMN_DEF |
varchar(254) |
Valeur par défaut de la colonne. |
SQL_DATA_TYPE |
smallint |
Valeur du type de données SQL tel qu'il 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 retourne 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 de la table est la colonne 1. Cette colonne retourne 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 la documentation de Microsoft ODBC.
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 retourne un jeu 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 une autorisation SELECT sur le schéma.
Notes
sp_columns_ex satisfait aux conditions requises pour l'utilisation d'identificateurs délimités. Pour plus d'informations, consultez Identificateur de la base de données..
Exemples
L'exemple qui suit retourne le type de données de la colonne JobTitle de la table HumanResources.Employee dans la base de données AdventureWorks2012 sur le serveur lié Seattle1.
EXEC sp_columns_ex 'Seattle1',
'Employee',
'HumanResources',
'AdventureWorks2012',
'JobTitle';
Voir aussi
Référence
sp_linkedservers (Transact-SQL)