sp_columns_ex (Transact-SQL)

S’applique à :SQL Server

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

Conventions de la syntaxe 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 retourner des informations de colonne. table_server est sysname, sans valeur par défaut.

[ @table_name = ] 'table_name' Nom de la table pour laquelle retourner des informations de colonne. table_name est sysname, avec la valeur par défaut NULL.

[ @table_schema = ] 'table_schema' Nom de schéma de la table pour laquelle retourner des informations de colonne. table_schema est sysname, avec la valeur par défaut NULL.

[ @table_catalog = ] 'table_catalog' Nom de catalogue de la table pour laquelle retourner des informations de colonne. table_catalog est sysname, avec la valeur par défaut NULL.

[ @column_name = ] 'column' Nom de la colonne de base de données pour laquelle fournir des informations. column est sysname, avec la valeur par défaut NULL.

[ @ODBCVer = ] 'ODBCVer' Version d’ODBC utilisée. ODBCVer est int, avec la valeur par défaut 2. 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.

Codet de retour

Aucun

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. Différents produits SGBD prennent en charge le nommage en trois parties pour les tables (qualificateur.propriétaire.nom). 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 du TABLE_NAME retourné. 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 retourné 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 de retour de 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 de données 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 renvoie 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 identique à la colonne DATA_TYPE , à l’exception des types de données datetime et INTERVALLE SQL-92. Cette colonne renvoie toujours une valeur.
SQL_DATETIME_SUB smallint Code de sous-type pour les types de données datetime et intervalle 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 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 valeur 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 retournée pour cette colonne est différente de la valeur retournée pour la colonne NULLABLE .
SS_DATA_TYPE tinyint SQL Server type de données, utilisé par les procédures stockées étendues.

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

Remarques

  • 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 colonne sont passés à cette interface pour limiter les lignes retournées.

  • sp_columns_ex retourne un jeu de résultats vide si le fournisseur OLE DB du serveur lié spécifié ne prend pas en charge l’ensemble de lignes COLUMNS de l’interface IDBSchemaRowset .

  • sp_columns_ex respecte les conditions requises pour les identificateurs délimités. Pour plus d'informations, consultez Database Identifiers.

Autorisations

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

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 AdventureWorks2022 sur le serveur lié Seattle1.

EXEC sp_columns_ex 'Seattle1',   
   'Employee',   
   'HumanResources',   
   'AdventureWorks2022',   
   'JobTitle';  

Voir aussi

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)