MSdbms (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric

Retourne des informations de colonne pour les objets spécifiés qui peuvent être interrogés dans l'environnement actuel.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_columns [ @table_name = ] object  
     [ , [ @table_owner = ] owner ]   
     [ , [ @table_qualifier = ] qualifier ]   
     [ , [ @column_name = ] column ]   
     [ , [ @ODBCVer = ] ODBCVer ]  

Arguments

[ @table_name = ] object Nom de l’objet utilisé pour retourner des informations de catalogue. object peut être une table, une vue ou un autre objet ayant des colonnes telles que des fonctions table. object est de type nvarchar(384), sans valeur par défaut. La recherche de correspondance avec des caractères génériques est prise en charge.

[ @table_owner = ] owner Nom du propriétaire de l’objet utilisé pour retourner des informations de catalogue. owner est 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 l’argument owner n’est pas spécifié, les règles définissant par défaut la visibilité des objets du SGBD sous-jacent s’appliquent.

Si l'utilisateur actuel est propriétaire d'un objet portant le nom spécifié, les colonnes de cet objet sont retournées. Si la valeur de owner n’est pas spécifiée et que l’utilisateur actuel ne possède pas d’objet dont la valeur object est spécifiée, la procédure sp_columns recherche un objet, avec la valeur object spécifiée, qui est possédé par le propriétaire de la base de données. S'il en existe un, les colonnes de cet objet sont retournées.

[ @table_qualifier = ] qualifier Nom du qualificateur de l’objet. qualifier est de type sysname, avec NULL comme valeur par défaut. Différents produits SGBD prennent en charge la dénomination des objets (qualifier.owner.name). Dans SQL Server, cette colonne représente le nom de la base de données. Dans certains produits, elle représente le nom du serveur de l'environnement de base de données de l'objet.

[ @column_name = ] column Colonne unique utilisée lorsqu’une seule colonne d’informations de catalogue est demandée. column est de type nvarchar(384), avec NULL comme valeur par défaut. Si l’argument column n’est pas spécifié, toutes les colonnes sont retournées. Dans SQL Server, cette colonne représente le nom de la colonne tel qu’il figure dans la table sys.columns. 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 de SQL-92 (caractères génériques % et _).

[ @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.

Codet de retour

Aucun

Jeux de résultats

La procédure stockée de catalogue sp_columns est équivalente à SQLColumns dans ODBC. Les résultats renvoyés sont triés par TABLE_QUALIFIER, TABLE_OWNER et TABLE_NAME.

Nom de la colonne Type de données Description
TABLE_QUALIFIER sysname Nom du qualificateur d'objet. Ce champ peut contenir la valeur NULL.
TABLE_OWNER sysname Nom du propriétaire de l'objet. Ce champ retourne toujours une valeur.
TABLE_NAME sysname Nom d’objet Ce champ retourne toujours une valeur.
COLUMN_NAME sysname Nom de colonne, pour chaque colonne de la TABLE_NAME retournée. Ce champ retourne toujours une valeur.
DATA_TYPE smallint Code entier d’un type de données 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 sysname Chaîne représentant un type de données. Le SGBD sous-jacent dispose de ce nom de type de données.
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.1
SCALE smallint Nombre de chiffres situés à droite du séparateur décimal.
RADIX smallint Base pour les 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 nvarchar(4000) 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 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 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 l'objet. La première colonne de l'objet est la colonne 1. Cette colonne renvoie toujours une valeur.
IS_NULLABLE varchar(254) Possibilité de valeur Null dans la colonne de l'objet. 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 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).

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

Autorisations

Nécessite les autorisations SELECT et VIEW DEFINITION sur le schéma.

Notes

sp_columns satisfait aux conditions requises pour les identificateurs délimités. Pour plus d'informations, consultez Database Identifiers.

Exemples

L'exemple suivant retourne les informations de colonne pour une table spécifique.

USE AdventureWorks2022;  
GO  
EXEC sp_columns @table_name = N'Department',  
   @table_owner = N'HumanResources';  

Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)

L'exemple suivant retourne les informations de colonne pour une table spécifique.

-- Uses AdventureWorks  
  
EXEC sp_columns @table_name = N'DimEmployee',  
   @table_owner = N'dbo';  

Voir aussi

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