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
System_CAPS_pubproperty IsNull

Obtient une valeur qui indique si SqlHierarchyId a la valeur null.

System_CAPS_pubpropertySystem_CAPS_static Null

Obtient un SqlHierarchyId avec une identification de hiérarchie de valeur null.

Méthodes

Nom Description
System_CAPS_pubmethod CompareTo(Object)

Retourne une valeur indiquant les résultats d'une comparaison entre un SqlHierarchyId et un objet.

System_CAPS_pubmethod CompareTo(SqlHierarchyId)

Retourne une valeur indiquant les résultats d'une comparaison entre deux nœuds SqlHierarchyId.

System_CAPS_pubmethod Equals(Object)

Évalue si SqlHierarchyId et obj sont égaux.(Remplace ValueType.Equals(Object).)

System_CAPS_pubmethod GetAncestor(Int32)

Récupère le nœud SqlHierarchyId de n niveaux supérieurs dans l'arborescence hiérarchique.

System_CAPS_pubmethod GetDescendant(SqlHierarchyId, SqlHierarchyId)

Obtient la valeur d'un nœud SqlHierarchyId descendant qui est supérieure à child1 et inférieure à child2.

System_CAPS_pubmethod 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().)

System_CAPS_pubmethod GetLevel()

Obtient une valeur indiquant le niveau du nœud SqlHierarchyId dans l'arborescence hiérarchique.

System_CAPS_pubmethod 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.

System_CAPS_pubmethodSystem_CAPS_static GetRoot()

Obtient une valeur représentant le nœud racine SqlHierarchyId de la hiérarchie.

System_CAPS_pubmethod GetType()

(Hérité de Object.)

System_CAPS_pubmethod IsDescendantOf(SqlHierarchyId)

Obtient une valeur indiquant si le nœud SqlHierarchyId est le descendant du parent.

System_CAPS_pubmethodSystem_CAPS_static Parse(SqlString)

Convertit la représentation de chaîne canonique d'un nœud SqlHierarchyId en valeur SqlHierarchyId.

System_CAPS_pubmethod Read(BinaryReader)

Effectue la lecture depuis un lecteur binaire spécifié dans un SqlHierarchyId.

System_CAPS_pubmethod ToString()

Retourne la représentation de chaîne canonique d'un nœud SqlHierarchyId depuis une valeur SqlHierarchyId.(Remplace ValueType.ToString().)

System_CAPS_pubmethod Write(BinaryWriter)

Écrit un SqlHierarchyId dans un enregistreur binaire spécifié.

Opérateurs

Nom Description
System_CAPS_puboperatorSystem_CAPS_static Equality(SqlHierarchyId, SqlHierarchyId)

Évalue si deux nœuds SqlHierarchyId sont égaux.

System_CAPS_puboperatorSystem_CAPS_static GreaterThan(SqlHierarchyId, SqlHierarchyId)

Évalue si un nœud SqlHierarchyId spécifié est supérieur à un autre.

System_CAPS_puboperatorSystem_CAPS_static GreaterThanOrEqual(SqlHierarchyId, SqlHierarchyId)

Évalue si un nœud SqlHierarchyId spécifié est supérieur ou égal à un autre.

System_CAPS_puboperatorSystem_CAPS_static Inequality(SqlHierarchyId, SqlHierarchyId)

Évalue si deux nœuds SqlHierarchyId sont inégaux.

System_CAPS_puboperatorSystem_CAPS_static LessThan(SqlHierarchyId, SqlHierarchyId)

Évalue si un nœud SqlHierarchyId spécifié est inférieur à un autre.

System_CAPS_puboperatorSystem_CAPS_static 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