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 @column_name est spécifiée.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_columns_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @column_name = ] N'column_name' ]
[ , [ @ODBCVer = ] ODBCVer ]
[ ; ]
Arguments
[ @table_server = ] N’table_server'
Nom du serveur lié pour lequel retourner les informations de colonne. @table_server est sysname, sans valeur par défaut.
[ @table_name = ] N'table_name'
Nom de la table pour laquelle retourner les informations de colonne. @table_name est sysname, avec la valeur par défaut NULL
.
[ @table_schema = ] N’table_schema'
Nom du schéma de la table pour laquelle retourner les informations de colonne. @table_schema est sysname, avec la valeur par défaut NULL
.
[ @table_catalog = ] N’table_catalog'
Nom du catalogue de la table pour laquelle retourner les informations de colonne. @table_catalog est sysname, avec la valeur par défaut NULL
.
[ @column_name = ] N’column_name'
Nom de la colonne de base de données pour laquelle fournir des informations. @column_name 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
. Pour plus d’informations sur les différences de comportement entre les versions 2 et 3, consultez la spécification ODBC SQLColumns
.
Valeurs des codes de retour
Aucune.
Jeu 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 (<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 être 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 retour. Ce champ retourne toujours une valeur. |
DATA_TYPE |
smallint | Valeur int qui correspond aux indicateurs de type ODBC. S’il s’agit d’un type de données qui ne peut pas être mappé à un type ODBC, cette valeur est NULL . Le nom du type de données natif est retourné dans la TYPE_NAME colonne. |
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 PRECISION colonne 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 = NULL est possible.0 = NOT NULL . |
REMARKS |
varchar(254) | Ce champ retourne NULL toujours . |
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 TYPE champ du descripteur. Cette colonne est identique à la DATA_TYPE colonne, à l’exception des types de données d’intervalle datetime et SQL-92. Cette colonne renvoie toujours une valeur. |
SQL_DATETIME_SUB |
smallint | Code de sous-type pour le type de données datetime et pour le type de données interval de SQL-92. Pour d’autres types de données, cette colonne retourne 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 retourne 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 conforme à SQL ISO ne peut pas retourner une chaîne vide.YES = Colonne peut inclure NULL .NO = La colonne ne peut pas inclure 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 NULLABLE colonne. |
SS_DATA_TYPE |
tinyint | Type de données SQL Server, utilisé par les procédures stockées étendues. |
Pour plus d’informations, consultez Vue d’ensemble d’ODBC.
Notes
sp_columns_ex
est exécuté en interrogeant l’ensembleCOLUMNS
de lignes de l’interfaceIDBSchemaRowset
du fournisseur OLE DB correspondant à @table_server. Les paramètres @table_name, @table_schema, @table_catalog et @column_name sont passés à cette interface pour restreindre 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’ensembleCOLUMNS
de lignes de l’interfaceIDBSchemaRowset
.sp_columns_ex
suit les conditions requises pour les identificateurs délimités. Pour plus d’informations, consultez Identificateurs de base de données.
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';