SqlHierarchyId structure
Le type SqlHierarchyId représente une position dans une structure hiérarchique, en spécifiant la profondeur et la largeur.
Espace de noms: Microsoft.SqlServer.Types
Assembly: Microsoft.SqlServer.Types (dans Microsoft.SqlServer.Types.dll)
Syntaxe
[SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered = true,
MaxByteSize = 892, Name = "SqlHierarchyId")]
public struct SqlHierarchyId : IBinarySerialize, INullable, IComparable
[SqlUserDefinedTypeAttribute(Format::UserDefined, IsByteOrdered = true,
MaxByteSize = 892, Name = "SqlHierarchyId")]
public value struct SqlHierarchyId : IBinarySerialize, INullable,
IComparable
[<Sealed>]
[<SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered = true,
MaxByteSize = 892, Name = "SqlHierarchyId")>]
type SqlHierarchyId =
struct
interface IBinarySerialize
interface INullable
interface IComparable
end
<SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered := True,
MaxByteSize := 892, Name := "SqlHierarchyId")>
Public Structure SqlHierarchyId
Implements IBinarySerialize, INullable, IComparable
Propriétés
Nom | Description | |
---|---|---|
IsNull | Obtient une valeur qui indique si SqlHierarchyId a la valeur null. |
|
Null | Obtient un SqlHierarchyId avec une identification de hiérarchie de valeur null. |
Méthodes
Nom | Description | |
---|---|---|
CompareTo(Object) | Retourne une valeur indiquant les résultats d'une comparaison entre un SqlHierarchyId et un objet. |
|
CompareTo(SqlHierarchyId) | Retourne une valeur indiquant les résultats d'une comparaison entre deux nœuds SqlHierarchyId. |
|
Equals(Object) | Évalue si SqlHierarchyId et obj sont égaux.(Remplace ValueType.Equals(Object).) |
|
GetAncestor(Int32) | Récupère le nœud SqlHierarchyId de n niveaux supérieurs dans l'arborescence hiérarchique. |
|
GetDescendant(SqlHierarchyId, SqlHierarchyId) | Obtient la valeur d'un nœud SqlHierarchyId descendant qui est supérieure à child1 et inférieure à child2. |
|
GetHashCode() | Obtient un hachage du chemin d'accès du nœud racine de l'arborescence hiérarchique au nœud SqlHierarchyId.(Remplace ValueType.GetHashCode().) |
|
GetLevel() | Obtient une valeur indiquant le niveau du nœud SqlHierarchyId dans l'arborescence hiérarchique. |
|
GetReparentedValue(SqlHierarchyId, SqlHierarchyId) | Obtient une valeur représentant l'emplacement d'un nouveau nœud SqlHierarchyId qui a un chemin d'accès de newRoot égal au chemin d'accès de oldRoot à this, en déplaçant efficacement this vers le nouvel emplacement. |
|
GetRoot() | Obtient une valeur représentant le nœud racine SqlHierarchyId de la hiérarchie. |
|
GetType() | (Hérité de Object.) |
|
IsDescendantOf(SqlHierarchyId) | Obtient une valeur indiquant si le nœud SqlHierarchyId est le descendant du parent. |
|
Parse(SqlString) | Convertit la représentation de chaîne canonique d'un nœud SqlHierarchyId en valeur SqlHierarchyId. |
|
Read(BinaryReader) | Effectue la lecture depuis un lecteur binaire spécifié dans un SqlHierarchyId. |
|
ToString() | Retourne la représentation de chaîne canonique d'un nœud SqlHierarchyId depuis une valeur SqlHierarchyId.(Remplace ValueType.ToString().) |
|
Write(BinaryWriter) | Écrit un SqlHierarchyId dans un enregistreur binaire spécifié. |
Opérateurs
Nom | Description | |
---|---|---|
Equality(SqlHierarchyId, SqlHierarchyId) | Évalue si deux nœuds SqlHierarchyId sont égaux. |
|
GreaterThan(SqlHierarchyId, SqlHierarchyId) | Évalue si un nœud SqlHierarchyId spécifié est supérieur à un autre. |
|
GreaterThanOrEqual(SqlHierarchyId, SqlHierarchyId) | Évalue si un nœud SqlHierarchyId spécifié est supérieur ou égal à un autre. |
|
Inequality(SqlHierarchyId, SqlHierarchyId) | Évalue si deux nœuds SqlHierarchyId sont inégaux. |
|
LessThan(SqlHierarchyId, SqlHierarchyId) | Évalue si un nœud SqlHierarchyId spécifié est inférieur à un autre. |
|
LessThanOrEqual(SqlHierarchyId, SqlHierarchyId) | Évalue si un nœud SqlHierarchyId spécifié est inférieur ou égal à un autre. |
Notes
Ce type fournit les avantages suivants pour le stockage des informations hiérarchiques :
Stockage de données très compact.
Comparaison de profondeur. Index de ce type sont dans l’ordre de profondeur et nœuds proches les uns des autres dans un parcours à profondeur prioritaire sont stockés à l’autre.
Prise en charge des insertions et suppressions arbitraires.
Une limitation de ce type est qu’une seule instance de la hiérarchie du type de données peut être non supérieure à 892 octets. Hiérarchies comportant trop de niveaux dans cette limitation doivent utiliser un autre type de données.
Le type HierarchyId est disponible pour les clients CLR comme type de données SqlHierarchyId.
Exemples
DECLARE @employee hierarchyid
SELECT @employee = OrgNode FROM HumanResources.EmployeeDemo
WHERE LoginID = 'adventure-works\dylan0'
SELECT * FROM HumanResources.EmployeeDemo
WHERE @employee.IsDescendantOf(OrgNode) = 1
Cohérence de thread
Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.
Voir aussi
Microsoft.SqlServer.Types espace de noms
Retour au début