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 | |
---|---|---|
IsNull | Ruft einen Wert ab, der angibt, ob SqlHierarchyIdnull ist. |
|
Null | Ruft SqlHierarchyId mit einer Hierarchieidentifikation von null ab. |
Methoden
Name | Beschreibung | |
---|---|---|
CompareTo(Object) | Gibt einen Wert zurück, der die Ergebnisse eines Vergleichs zwischen SqlHierarchyId und einem Objekt angibt. |
|
CompareTo(SqlHierarchyId) | Gibt einen Wert zurück, der die Ergebnisse eines Vergleichs zwischen zwei SqlHierarchyId-Knoten angibt. |
|
Equals(Object) | Wertet aus, ob SqlHierarchyId und obj gleich sind.(Überschreibt ValueType.Equals(Object).) |
|
GetAncestor(Int32) | Ruft die n-Ebenen des SqlHierarchyId-Knotens aufsteigend in der hierarchischen Struktur ab. |
|
GetDescendant(SqlHierarchyId, SqlHierarchyId) | Ruft den Wert eines SqlHierarchyId-Nachfolgerknotens ab, der größer als child1 und kleiner als child2 ist. |
|
GetHashCode() | Ruft aus dem Stammknoten der Hierarchiestruktur einen Hash des Pfades in den SqlHierarchyId-Knoten ab.(Überschreibt ValueType.GetHashCode().) |
|
GetLevel() | Ruft einen Wert ab, der die Ebene des SqlHierarchyId-Knotens in der hierarchischen Struktur angibt. |
|
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. |
|
GetRoot() | Ruft einen Wert ab, der den SqlHierarchyId-Stammknoten der Hierarchie darstellt. |
|
GetType() | (Geerbt von „Object“.) |
|
IsDescendantOf(SqlHierarchyId) | Ruft einen Wert ab, der angibt, ob der SqlHierarchyId-Knoten der Nachfolger des übergeordneten Elements ist. |
|
Parse(SqlString) | Konvertiert die kanonische Zeichenfolgendarstellung eines SqlHierarchyId-Knotens in einen SqlHierarchyId-Wert. |
|
Read(BinaryReader) | Liest aus einem angegebenen binären Reader in SqlHierarchyId. |
|
ToString() | Gibt die kanonische Zeichenfolgendarstellung eines SqlHierarchyId-Knotens aus einem SqlHierarchyId-Wert zurück.(Überschreibt ValueType.ToString().) |
|
Write(BinaryWriter) | Schreibt SqlHierarchyId in einen angegebenen binären Writer. |
Operatoren
Name | Beschreibung | |
---|---|---|
Equality(SqlHierarchyId, SqlHierarchyId) | Wertet aus, ob zwei SqlHierarchyId-Knoten gleich sind. |
|
GreaterThan(SqlHierarchyId, SqlHierarchyId) | Wertet aus, ob ein angegebener SqlHierarchyId-Knoten größer als ein anderer ist. |
|
GreaterThanOrEqual(SqlHierarchyId, SqlHierarchyId) | Wertet aus, ob ein angegebener SqlHierarchyId-Knoten größer oder gleich einem anderen ist. |
|
Inequality(SqlHierarchyId, SqlHierarchyId) | Wertet aus, ob zwei SqlHierarchyId-Knoten ungleich sind. |
|
LessThan(SqlHierarchyId, SqlHierarchyId) | Wertet aus, ob ein angegebener SqlHierarchyId-Knoten kleiner als ein anderer ist. |
|
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