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 | |
---|---|---|
IsNull | Pobiera wartość wskazującą czy SqlHierarchyId jest nullodwołanie o wartości null (Nothing w języku Visual Basic). | |
Null | Pobiera SqlHierarchyId z Identyfikacja hierarchii nullodwołanie o wartości null (Nothing w języku Visual Basic). |
Do góry
Metody
Nazwa | Opis | |
---|---|---|
CompareTo(Object) | Zwraca wartość wskazująca wyniki porównania między SqlHierarchyId i obiektu. | |
CompareTo(SqlHierarchyId) | Zwraca wartość wskazująca wyniki porównania między dwoma SqlHierarchyId węzłów. | |
Equals | Ocenia czy SqlHierarchyId i obj są równe. (Zastępuje ValueType.Equals(Object)). | |
Finalize | (Dziedziczony z Object). | |
GetAncestor | Pobiera SqlHierarchyId węzeł n poziomy w górę drzewa hierarchicznego. | |
GetDescendant | Pobiera wartość potomka SqlHierarchyId węzła, który jest większy niż child1 i mniej niż child2. | |
GetHashCode | Pobiera mieszania ścieżka z korzenia drzewo hierarchii do SqlHierarchyId węzła. (Zastępuje ValueType.GetHashCode()). | |
GetLevel | Pobiera wartość wskazująca poziom SqlHierarchyId węzeł w drzewie hierarchii. | |
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. | |
GetRoot | Pobiera wartość reprezentująca głównego SqlHierarchyId węzeł hierarchii. | |
GetType | (Dziedziczony z Object). | |
IsDescendantOf | Pobiera wartość wskazującą czy SqlHierarchyId węzeł jest podrzędnym nadrzędnego. | |
MemberwiseClone | (Dziedziczony z Object). | |
Parse | Konwertuje reprezentację ciąg kanoniczna SqlHierarchyId węzła SqlHierarchyId wartości. | |
Read | Odczytuje z czytnika binarny określonego w SqlHierarchyId. | |
ToString | Zwraca reprezentację ciąg kanoniczna SqlHierarchyId węzła z SqlHierarchyId wartości. (Zastępuje ValueType.ToString()). | |
Write | Zapisuje SqlHierarchyId określonym binarne modułu zapisującego. |
Do góry
Operatory
Nazwa | Opis | |
---|---|---|
Equality | Określa, czy dwa SqlHierarchyId węzły są równe. | |
GreaterThan | Określa, czy jeden określony SqlHierarchyId węzeł jest większa od drugiej. | |
GreaterThanOrEqual | Określa, czy jeden określony SqlHierarchyId węzeł jest większa lub równa innej. | |
Inequality | Określa, czy dwa SqlHierarchyId węzły są nierównej. | |
LessThan | Określa, czy jeden określony SqlHierarchyId węzeł jest mniejsza od innej. | |
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.