Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL 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 = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @column_name = ] N'column_name' ]
[ , [ @ODBCVer = ] ODBCVer ]
[ ; ]
Arguments
[ @table_name = ] N’table_name'
@table_name est nvarchar(384), sans valeur par défaut.
Nom de l’objet utilisé pour renvoyer des informations de catalogue. @table_name peut être une table, une vue ou un autre objet qui est des colonnes telles que des fonctions table. @table_name est nvarchar(384), sans valeur par défaut. La recherche de correspondance avec des caractères génériques est prise en charge.
[ @table_owner = ] N’table_owner'
Propriétaire de l’objet utilisé pour renvoyer des informations de catalogue.
@table_owner est nvarchar(384), avec la valeur par défaut NULL. La recherche de correspondance avec des caractères génériques est prise en charge. Si @table_owner n’est pas spécifié, les règles de visibilité d’objet par défaut 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 @table_owner n’est pas spécifié et que l’utilisateur actuel ne possède pas d’objet avec le @table_name spécifié, sp_columns recherche un objet avec le @table_name spécifié appartenant au propriétaire de la base de données. S'il en existe un, les colonnes de cet objet sont retournées.
[ @table_qualifier = ] N’table_qualifier'
@table_qualifier est sysname, avec la valeur par défaut NULL.
Nom du qualificateur d’objet.
@table_qualifier est sysname, avec la valeur par défaut NULL. Différents produits SGBD prennent en charge le nommage en trois parties pour les 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 = ] N’column_name'
Une seule colonne est utilisée quand une seule colonne d’informations de catalogue est souhaitée.
@column_name est nvarchar(384), avec la valeur par défaut NULL. Si @column_name n’est pas spécifié, toutes les colonnes sont retournées. Dans SQL Server, @column_name représente le nom de colonne comme indiqué dans la syscolumns table. La recherche de correspondance avec des caractères génériques est prise en charge. Pour une interopérabilité maximale, le client de passerelle doit supposer uniquement la correspondance de modèle standard SQL-92 (caractères % génériques et _ caractères génériques).
[ @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 connaître 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
La sp_columns procédure stockée de catalogue est équivalente à SQLColumns ODBC. Les résultats retournés sont classés par TABLE_QUALIFIER, TABLE_OWNERet TABLE_NAME.
| Nom de la colonne | Type de données | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Nom du qualificateur d'objet. Ce champ peut être 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 du TABLE_NAME retour. Ce champ retourne toujours une valeur. |
DATA_TYPE |
smallint | Code entier d’un type de données ODBC. Si ce type de données ne peut pas être mappé à un type ODBC, il s’agit NULL. Le nom du type de données natif est retourné dans la TYPE_NAME colonne. |
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 de la PRECISION colonne 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
=
NULL est possible.0 = NON NULL. |
REMARKS |
varchar(254) | Ce champ retourne NULLtoujours . |
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 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 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 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 Types de données. |
1 Pour plus d’informations, consultez Vue d’ensemble d’ODBC.
autorisations
Nécessite SELECT et VIEW DEFINITION autorisations sur le schéma.
Notes
sp_columns suit les conditions requises pour les identificateurs délimités. Pour plus d’informations, consultez Identificateurs de base de données.
Exemples
Les exemples de code de cet article utilisent les bases de données d'exemple AdventureWorks2025 ou AdventureWorksDW2025, que vous pouvez télécharger à partir de la page d'accueil Microsoft SQL Server Samples and Community Projects.
L'exemple suivant retourne les informations de colonne pour une table spécifique.
USE AdventureWorks2022;
GO
EXECUTE 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.
USE AdventureWorksDW2022;
GO
EXECUTE sp_columns
@table_name = N'DimEmployee',
@table_owner = N'dbo';