SqlHierarchyId-Struktur

 

Der SqlHierarchyId-Typ stellt unter Angabe von Tiefe und Breite eine Position in einer hierarchischen Struktur dar.

Namespace:   Microsoft.SqlServer.Types
Assembly:  Microsoft.SqlServer.Types (in Microsoft.SqlServer.Types.dll)

Syntax

[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

Eigenschaften

Name Beschreibung
System_CAPS_pubproperty IsNull

Ruft einen Wert ab, der angibt, ob SqlHierarchyIdnull ist.

System_CAPS_pubpropertySystem_CAPS_static Null

Ruft SqlHierarchyId mit einer Hierarchieidentifikation von null ab.

Methoden

Name Beschreibung
System_CAPS_pubmethod CompareTo(Object)

Gibt einen Wert zurück, der die Ergebnisse eines Vergleichs zwischen SqlHierarchyId und einem Objekt angibt.

System_CAPS_pubmethod CompareTo(SqlHierarchyId)

Gibt einen Wert zurück, der die Ergebnisse eines Vergleichs zwischen zwei SqlHierarchyId-Knoten angibt.

System_CAPS_pubmethod Equals(Object)

Wertet aus, ob SqlHierarchyId und obj gleich sind.(Überschreibt ValueType.Equals(Object).)

System_CAPS_pubmethod GetAncestor(Int32)

Ruft die n-Ebenen des SqlHierarchyId-Knotens aufsteigend in der hierarchischen Struktur ab.

System_CAPS_pubmethod GetDescendant(SqlHierarchyId, SqlHierarchyId)

Ruft den Wert eines SqlHierarchyId-Nachfolgerknotens ab, der größer als child1 und kleiner als child2 ist.

System_CAPS_pubmethod GetHashCode()

Ruft aus dem Stammknoten der Hierarchiestruktur einen Hash des Pfades in den SqlHierarchyId-Knoten ab.(Überschreibt ValueType.GetHashCode().)

System_CAPS_pubmethod GetLevel()

Ruft einen Wert ab, der die Ebene des SqlHierarchyId-Knotens in der hierarchischen Struktur angibt.

System_CAPS_pubmethod GetReparentedValue(SqlHierarchyId, SqlHierarchyId)

Ruft einen Wert ab, der die Position eines neuen SqlHierarchyId-Knotens darstellt, der über einen Pfad von newRoot verfügt, der dem Pfad von oldRoot zu this entspricht. Dabei wird this effektiv an die neue Position verschoben.

System_CAPS_pubmethodSystem_CAPS_static GetRoot()

Ruft einen Wert ab, der den SqlHierarchyId-Stammknoten der Hierarchie darstellt.

System_CAPS_pubmethod GetType()

(Geerbt von „Object“.)

System_CAPS_pubmethod IsDescendantOf(SqlHierarchyId)

Ruft einen Wert ab, der angibt, ob der SqlHierarchyId-Knoten der Nachfolger des übergeordneten Elements ist.

System_CAPS_pubmethodSystem_CAPS_static Parse(SqlString)

Konvertiert die kanonische Zeichenfolgendarstellung eines SqlHierarchyId-Knotens in einen SqlHierarchyId-Wert.

System_CAPS_pubmethod Read(BinaryReader)

Liest aus einem angegebenen binären Reader in SqlHierarchyId.

System_CAPS_pubmethod ToString()

Gibt die kanonische Zeichenfolgendarstellung eines SqlHierarchyId-Knotens aus einem SqlHierarchyId-Wert zurück.(Überschreibt ValueType.ToString().)

System_CAPS_pubmethod Write(BinaryWriter)

Schreibt SqlHierarchyId in einen angegebenen binären Writer.

Operatoren

Name Beschreibung
System_CAPS_puboperatorSystem_CAPS_static Equality(SqlHierarchyId, SqlHierarchyId)

Wertet aus, ob zwei SqlHierarchyId-Knoten gleich sind.

System_CAPS_puboperatorSystem_CAPS_static GreaterThan(SqlHierarchyId, SqlHierarchyId)

Wertet aus, ob ein angegebener SqlHierarchyId-Knoten größer als ein anderer ist.

System_CAPS_puboperatorSystem_CAPS_static GreaterThanOrEqual(SqlHierarchyId, SqlHierarchyId)

Wertet aus, ob ein angegebener SqlHierarchyId-Knoten größer oder gleich einem anderen ist.

System_CAPS_puboperatorSystem_CAPS_static Inequality(SqlHierarchyId, SqlHierarchyId)

Wertet aus, ob zwei SqlHierarchyId-Knoten ungleich sind.

System_CAPS_puboperatorSystem_CAPS_static LessThan(SqlHierarchyId, SqlHierarchyId)

Wertet aus, ob ein angegebener SqlHierarchyId-Knoten kleiner als ein anderer ist.

System_CAPS_puboperatorSystem_CAPS_static LessThanOrEqual(SqlHierarchyId, SqlHierarchyId)

Wertet aus, ob ein angegebener SqlHierarchyId-Knoten kleiner oder gleich einem anderen ist.

Hinweise

Dieser Typ bietet die folgenden Vorteile für hierarchische Informationen gespeichert:

  • Der Datenspeicher ist sehr kompakt.

  • Erste Vergleich. Indizes für diesen Typ werden in tiefensuchreihenfolge, und Knoten liegend in einer tiefensuchreihenfolge nahe beieinander gespeichert werden.

  • Unterstützt willkürliche Einfüge- und Löschvorgänge.

  • Eine Einschränkung dieses Typs ist, dass eine einzelne Instanz des Datentyps Hierarchie nicht größer als 892 Bytes sein kann. Hierarchien, die zu viele Ebenen verwenden, um diese Einschränkung einschlägiger besitzen müssen einen anderen Datentyp verwenden.

Der HierarchyId-Typ steht CLR-Clients als der SqlHierarchyId-Datentyp zur Verfügung.

Beispiele

DECLARE @employee hierarchyid
SELECT @employee = OrgNode FROM HumanResources.EmployeeDemo
  WHERE LoginID = 'adventure-works\dylan0'

SELECT * FROM HumanResources.EmployeeDemo
WHERE @employee.IsDescendantOf(OrgNode) = 1

Threadsicherheit

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Siehe auch

Microsoft.SqlServer.Types-Namespace

Zurück zum Anfang