Udostępnij za pośrednictwem


Struktura SqlHierarchyId

SqlHierarchyId Typu odpowiada pozycji w strukturze hierarchicznej, określenie głębokości i szerokości.

Przestrzeń nazw:  Microsoft.SqlServer.Types
Zestaw:  Microsoft.SqlServer.Types (w Microsoft.SqlServer.Types.dll)

Składnia

'Deklaracja
<SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered := True,  _
    MaxByteSize := , Name := "SqlHierarchyId")> _
<CLSCompliantAttribute(True)> _
Public Structure SqlHierarchyId _
    Implements IBinarySerialize, INullable, IComparable
'Użycie
Dim instance As SqlHierarchyId
[SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered = true, 
    MaxByteSize = , Name = "SqlHierarchyId")]
[CLSCompliantAttribute(true)]
public struct SqlHierarchyId : IBinarySerialize, 
    INullable, IComparable
[SqlUserDefinedTypeAttribute(Format::UserDefined, IsByteOrdered = true, 
    MaxByteSize = , Name = L"SqlHierarchyId")]
[CLSCompliantAttribute(true)]
public value class SqlHierarchyId : IBinarySerialize, 
    INullable, IComparable
[<SealedAttribute>]
[<SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered = true, 
    MaxByteSize = , Name = "SqlHierarchyId")>]
[<CLSCompliantAttribute(true)>]
type SqlHierarchyId =  
    struct
        interface IBinarySerialize
        interface INullable
        interface IComparable
    end
Język JScript obsługuje używanie struktur, ale nie obsługuje deklarowania nowych.

Typ SqlHierarchyId uwidacznia następujące elementy członkowskie.

Właściwości

  Nazwa Opis
Właściwość publiczna IsNull Pobiera wartość wskazującą czy SqlHierarchyId jest nullodwołanie o wartości null (Nothing w języku Visual Basic).
Właściwość publicznaStatyczny element członkowski Null Pobiera SqlHierarchyId z Identyfikacja hierarchii nullodwołanie o wartości null (Nothing w języku Visual Basic).

Do góry

Metody

  Nazwa Opis
Metoda publiczna CompareTo(Object) Zwraca wartość wskazująca wyniki porównania między SqlHierarchyId i obiektu.
Metoda publiczna CompareTo(SqlHierarchyId) Zwraca wartość wskazująca wyniki porównania między dwoma SqlHierarchyId węzłów.
Metoda publiczna Equals Ocenia czy SqlHierarchyId i obj są równe. (Zastępuje ValueType.Equals(Object)).
Metoda chroniona Finalize (Dziedziczony z Object).
Metoda publiczna GetAncestor Pobiera SqlHierarchyId węzeł n poziomy w górę drzewa hierarchicznego.
Metoda publiczna GetDescendant Pobiera wartość potomka SqlHierarchyId węzła, który jest większy niż child1 i mniej niż child2.
Metoda publiczna GetHashCode Pobiera mieszania ścieżka z korzenia drzewo hierarchii do SqlHierarchyId węzła. (Zastępuje ValueType.GetHashCode()).
Metoda publiczna GetLevel Pobiera wartość wskazująca poziom SqlHierarchyId węzeł w drzewie hierarchii.
Metoda publiczna GetReparentedValue Pobiera wartość reprezentująca lokalizację nowej SqlHierarchyId węzeł, który ma ścieżka z newRoot równa ścieżka od oldRoot do to, skutecznie przenoszenie to do nowej lokalizacji.
Metoda publicznaStatyczny element członkowski GetRoot Pobiera wartość reprezentująca głównego SqlHierarchyId węzeł hierarchii.
Metoda publiczna GetType (Dziedziczony z Object).
Metoda publiczna IsDescendantOf Pobiera wartość wskazującą czy SqlHierarchyId węzeł jest podrzędnym nadrzędnego.
Metoda chroniona MemberwiseClone (Dziedziczony z Object).
Metoda publicznaStatyczny element członkowski Parse Konwertuje reprezentację ciąg kanoniczna SqlHierarchyId węzła SqlHierarchyId wartości.
Metoda publiczna Read Odczytuje z czytnika binarny określonego w SqlHierarchyId.
Metoda publiczna ToString Zwraca reprezentację ciąg kanoniczna SqlHierarchyId węzła z SqlHierarchyId wartości. (Zastępuje ValueType.ToString()).
Metoda publiczna Write Zapisuje SqlHierarchyId określonym binarne modułu zapisującego.

Do góry

Operatory

  Nazwa Opis
Operator publicznyStatyczny element członkowski Equality Określa, czy dwa SqlHierarchyId węzły są równe.
Operator publicznyStatyczny element członkowski GreaterThan Określa, czy jeden określony SqlHierarchyId węzeł jest większa od drugiej.
Operator publicznyStatyczny element członkowski GreaterThanOrEqual Określa, czy jeden określony SqlHierarchyId węzeł jest większa lub równa innej.
Operator publicznyStatyczny element członkowski Inequality Określa, czy dwa SqlHierarchyId węzły są nierównej.
Operator publicznyStatyczny element członkowski LessThan Określa, czy jeden określony SqlHierarchyId węzeł jest mniejsza od innej.
Operator publicznyStatyczny element członkowski LessThanOrEqual Określa, czy jeden określony SqlHierarchyId węzeł jest mniejsza lub równa drugiemu.

Do góry

Uwagi

Tego typu ma następujące zalety do przechowywania informacji hierarchiczny:

  • Magazyn danych bardzo zwarte.

  • Porównanie pierwszego głębokość.Indeksy dla tego typu są w kolejności głębokości pierwszy i węzłów zbliżone do siebie przechodzenie głębokość pierwszej znajdują się blisko siebie.

  • Obsługa dowolnego wstawienia i usunięcia.

  • Ograniczenie tego typu jest pojedyncze wystąpienie typu danych hierarchii może być większa niż 892 bajtów.Hierarchie, które posiadają zbyt wiele poziomów dopasowanie w ramach tego ograniczenia, należy użyć innego typu danych.

HierarchyId typu są dostępne dla klientów CLR jako SqlHierarchyId typu danych.

Przykłady

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

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

Bezpieczeństwo wątków

Wszystkie publiczne statyczny (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Nie ma gwarancji, że elementy członkowskie wystąpień będą bezpieczne dla wątków.