COLUMNPROPERTY (Transact-SQL)
Renvoie des informations sur une colonne ou un paramètre de procédure.
Syntaxe
COLUMNPROPERTY ( id , column , property )
Arguments
id
Expression contenant l'identificateur (ID) de la table ou de la procédure.column
Expression contenant le nom de la colonne ou du paramètre.property
Expression contenant les informations à renvoyer pour id qui peut prendre l'une des valeurs suivantes.Valeur
Description
Valeur retournée
AllowsNull
Autorise les valeurs NULL
1 = VRAI
0 = FAUX
NULL = Entrée non valide.
ColumnId
Valeur de l'identificateur de colonne correspondant à sys.columns.column_id.
Column ID
RemarqueLors de requêtes sur plusieurs colonnes, des écarts peuvent apparaître dans l'ordre des valeurs d'identificateur de colonne.FullTextTypeColumn
Valeur TYPE COLUMN de la table qui contient les informations sur le type de document de column.
Identificateur de TYPE COLUMN en texte intégral pour la colonne passée en tant que second paramètre de cette propriété.
isComputed
Est une colonne calculée.
1 = VRAI
0 = FAUX
NULL = Entrée non valide.
IsCursorType
Le paramètre de la procédure est de type CURSOR.
1 = VRAI
0 = FAUX
NULL = Entrée non valide.
IsDeterministic
La colonne est déterministe. Cette propriété s'applique uniquement aux colonnes calculées et aux colonnes de la vue.
1 = VRAI
0 = FALSE
NULL = Entrée non valide. Aucune colonne calculée ou colonne de la vue.
IsFulltextIndexed
Colonne enregistrée pour l'indexation de texte intégral.
1 = VRAI
0 = FAUX
NULL = Entrée non valide.
IsIdentity
La colonne utilise la propriété IDENTITY.
1 = VRAI
0 = FALSE NULL = Entrée non valide.
IsIdNotForRepl
La colonne vérifie le paramètre IDENTITY_INSERT. Ce paramètre n'est pas vérifié si le paramètre IDENTITY NOT FOR REPLICATION est spécifié.
1 = VRAI
0 = FALSE
NULL = Entrée non valide.
IsIndexable
La colonne peut être indexée.
1 = VRAI
0 = FAUX
NULL = Entrée non valide.
IsOutParam
Le paramètre de la procédure est un paramètre de sortie.
1 = VRAI
0 = FALSE NULL = Entrée non valide.
IsPrecise
La colonne est précise. Cette propriété s'applique uniquement aux colonnes déterministes.
1 = VRAI
0 = FALSE NULL = Entrée non valide. Colonne non déterministe.
IsRowGuidCol
La colonne a le type de données uniqueidentifier et est définie à l'aide de la propriété ROWGUIDCOL.
1 = VRAI
0 = FAUX
NULL = Entrée non valide.
IsSystemVerified
Les propriétés de déterminisme et de précision de la colonne peuvent être vérifiées par le Moteur de base de données. Cette propriété s'applique uniquement aux colonnes calculées et aux colonnes de vues.
1 = VRAI
0 = FAUX
NULL = Entrée non valide.
IsXmlIndexable
La colonne XML peut être utilisée dans un index XML.
1 = VRAI
0 = FAUX
NULL = Entrée non valide.
Precision
Longueur du type de données de la colonne ou du paramètre.
Longueur du type de données de la colonne spécifiée.
-1 = xml ou types de valeur de grande taille
NULL = Entrée non valide.
Scale
Échelle pour le type de données de la colonne ou du paramètre.
Échelle
NULL = Entrée non valide.
SystemDataAccess
La colonne est dérivée d'une fonction qui accède aux données dans les catalogues système ou les tables système virtuelles de SQL Server. Cette propriété s'applique uniquement aux colonnes calculées et aux colonnes de vues.
1 = TRUE (indique un accès en lecture seule)
0 = FAUX
NULL = Entrée non valide.
UserDataAccess
La colonne est dérivée d'une fonction qui accède aux données dans les tables utilisateur, y compris les vues et les tables temporaires, stockées dans l'instance locale de SQL Server. Cette propriété s'applique uniquement aux colonnes calculées et aux colonnes de vues.
1 = TRUE (indique un accès en lecture seule)
0 = FAUX
NULL = Entrée non valide.
UsesAnsiTrim
ANSI_PADDING avait pour valeur ON lors de la création de la table. Cette propriété ne s'applique qu'aux colonnes ou paramètres de type char ou varchar.
1 = TRUE
0 = FALSE
NULL = Entrée non valide.
IsSparse
La colonne est fragmentée. Pour plus d'informations, consultez Utilisation de colonnes fragmentées.
1 = TRUE
0 = FALSE
NULL = Entrée non valide.
IsColumnSet
La colonne est un jeu de colonnes. Pour plus d'informations, consultez Utilisation de jeux de colonnes.
1 = TRUE
0 = FALSE
NULL = Entrée non valide.
Types des valeurs renvoyées
int
Exceptions
Retourne la valeur NULL en cas d'erreur ou si un appelant n'est pas autorisé à afficher l'objet.
Dans SQL Server 2008, un utilisateur peut voir uniquement les métadonnées des éléments sécurisables qui lui appartiennent ou pour lesquels il dispose d'un droit d'accès. Cela signifie que les fonctions intégrées générant des métadonnées, telles que COLUMNPROPERTY, peuvent retourner la valeur NULL si l'utilisateur ne dispose d'aucune autorisation sur l'objet. Pour plus d'informations, consultez Configuration de la visibilité des métadonnées et Dépannage de la visibilité des métadonnées.
Notes
Lorsque vous vérifiez la propriété déterministe d'une colonne, assurez-vous d'abord que la colonne est calculée. IsDeterministic renvoie la valeur NULL pour les colonnes non calculées. Les colonnes calculées peuvent être spécifiées sous la forme de colonnes d'index.
Exemples
L'exemple suivant renvoie la longueur de la colonne LastName.
USE AdventureWorks;
GO
SELECT COLUMNPROPERTY( OBJECT_ID('Person.Contact'),'LastName','PRECISION')AS 'Column Length';
GO
Voici l'ensemble des résultats.
Column Length
-------------
50
(1 row(s) affected)