sys.columns (Transact-SQL)

Retourne une ligne pour chaque colonne d'un objet comportant des colonnes, telles que des vues ou des tables. Voici une liste de types d'objet comportant des colonnes :

  • Fonctions table d'assembly (FT)

  • Fonctions table inline SQL (IF)

  • Tables internes (IT)

  • Tables système (S)

  • Fonctions table SQL (TF)

  • Tables utilisateur

  • Vues (V)

Nom de colonne

Type de données

Description

object_id

int

ID d'objet auquel appartient cette colonne.

name

sysname

Nom de colonne. Unique au sein de l'objet.

column_id

int

ID de la colonne. Unique au sein de l'objet.

Les ID de colonnes peuvent ne pas être séquentiels.

system_type_id

tinyint

ID du type système de la colonne.

user_type_id

int

ID du type de colonne tel que défini par l'utilisateur.

Pour retourner le nom du type, établissez une jointure à l'affichage catalogue sys.types sur cette colonne.

max_length

smallint

Longueur maximale (en octets) de la colonne.

-1 = Les données de la colonne sont de type varchar(max), nvarchar(max), varbinary(max) ou xml.

Pour les colonnes text, la valeur max_length est égale à 16 ou à la valeur définie par l'option sp_tableoption 'text in row'.

precision

tinyint

Précision de la colonne si elle est numérique ; sinon, la valeur est 0.

scale

tinyint

Échelle de la colonne si elle est numérique ; sinon, la valeur est 0.

collation_name

sysname

Nom du classement de la colonne si elle est de type caractère, sinon la valeur est NULL.

is_nullable

bit

1 = La colonne a pour valeur NULL.

is_ansi_padded

bit

1 = La colonne utilise le comportement ANSI_PADDING ON si elle est de type caractère, binaire ou variant.

0 = La colonne n'est pas de type caractère, binaire ou variant.

is_rowguidcol

bit

1 = La colonne est un ROWGUIDCOL déclaré.

is_identity

bit

1 = La colonne a des valeurs d'identité.

is_computed

bit

1 = La colonne est calculée.

is_filestream

bit

1 = La colonne est une colonne FILESTREAM.

is_replicated

bit

1 = La colonne est répliquée.

is_non_sql_subscribed

bit

1 = La colonne a un abonné autre que SQL Server.

is_merge_published

bit

1 = La colonne est de type publié fusionné.

is_dts_replicated

bit

1 = La colonne est répliquée à l'aide de SSIS.

is_xml_document

bit

1 = Le contenu est un document entièrement XML.

0 = Le contenu est un fragment de document ou les données de colonne ne sont pas de type xml.

xml_collection_id

int

Différent de zéro si les données de la colonne sont xml et si vous tapez XML. La valeur sera l'ID de la collection contenant l'espace de nom du schéma XML validant la colonne.

0 = Aucune collection du schéma XML.

default_object_id

int

ID de l'objet par défaut, qu'il soit de type sys.sp_bindefault autonome ou une contrainte DEFAULT inline, de niveau colonne. La colonne parent_object_id d'un objet inline par défaut de niveau colonne est une référence à la table elle-même.

0 = Aucune valeur par défaut.

rule_object_id

int

ID de la règle autonome liée à la colonne à l'aide de sys.sp_bindrule.

0 = Aucune règle autonome. Pour plus d'informations sur les contraintes CHECK de niveau colonne, consultez sys.check_constraints (Transact-SQL)

is_sparse

bit

1 = La colonne est fragmentée. Pour plus d'informations, consultez Utilisation de colonnes fragmentées.

is_column_set

bit

1 = La colonne est un jeu de colonnes. Pour plus d'informations, consultez Utilisation de colonnes fragmentées.

Autorisations

Dans SQL Server 2005 et les versions ultérieures, la visibilité des métadonnées dans les affichages catalogue est limitée aux éléments sécurisables qu'un utilisateur détient ou pour lesquels des autorisations lui ont été accordées. Pour plus d'informations, consultez Configuration de la visibilité des métadonnées.