Структура SqlHierarchyId

 

Тип SqlHierarchyId представляет позицию в иерархической структуре с указанной глубиной и шириной.

Пространство имен:   Microsoft.SqlServer.Types
Сборка:  Microsoft.SqlServer.Types (в Microsoft.SqlServer.Types.dll)

Синтаксис

[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

Свойства

Имя Описание
System_CAPS_pubproperty IsNull

Возвращает значение, показывающее, имеет ли идентификатор SqlHierarchyId значение null.

System_CAPS_pubpropertySystem_CAPS_static Null

Возвращает SqlHierarchyId с идентификатором иерархии null.

Методы

Имя Описание
System_CAPS_pubmethod CompareTo(Object)

Возвращает значение, показывающее результат сравнения SqlHierarchyId с объектом.

System_CAPS_pubmethod CompareTo(SqlHierarchyId)

Возвращает значение, показывающее результат сравнения двух узлов SqlHierarchyId.

System_CAPS_pubmethod Equals(Object)

Определяет, равны ли SqlHierarchyId и obj.(Переопределяет ValueType.Equals(Object).)

System_CAPS_pubmethod GetAncestor(Int32)

Извлекает узел SqlHierarchyId, расположенный на n уровней выше в дереве иерархии.

System_CAPS_pubmethod GetDescendant(SqlHierarchyId, SqlHierarchyId)

Возвращает значение узла-потомка SqlHierarchyId, которое больше, чем child1, и меньше, чем child2.

System_CAPS_pubmethod GetHashCode()

Возвращает хэш пути от корневого узла иерархии до узла SqlHierarchyId.(Переопределяет ValueType.GetHashCode().)

System_CAPS_pubmethod GetLevel()

Возвращает значение, показывающее уровень узла SqlHierarchyId в дереве иерархии.

System_CAPS_pubmethod GetReparentedValue(SqlHierarchyId, SqlHierarchyId)

Возвращает значение, представляющее местоположение нового узла SqlHierarchyId с путем от newRoot, равным пути от oldRoot до this, действительно перемещенного this в новое местоположение.

System_CAPS_pubmethodSystem_CAPS_static GetRoot()

Возвращает значение, представляющее корневой узел SqlHierarchyId иерархии.

System_CAPS_pubmethod GetType()

(Наследуется от Object.)

System_CAPS_pubmethod IsDescendantOf(SqlHierarchyId)

Возвращает значение, показывающее, является ли узел SqlHierarchyId потомком родителя.

System_CAPS_pubmethodSystem_CAPS_static Parse(SqlString)

Преобразует каноничное строковое представление узла SqlHierarchyId в значение SqlHierarchyId.

System_CAPS_pubmethod Read(BinaryReader)

Считывает из указанного двоичного модуля чтения в SqlHierarchyId.

System_CAPS_pubmethod ToString()

Возвращает каноничное строковое представление узла SqlHierarchyId из значения SqlHierarchyId.(Переопределяет ValueType.ToString().)

System_CAPS_pubmethod Write(BinaryWriter)

Записывает SqlHierarchyId в указанный двоичный модуль записи.

Операторы

Имя Описание
System_CAPS_puboperatorSystem_CAPS_static Equality(SqlHierarchyId, SqlHierarchyId)

Оценивает, равны ли два узла SqlHierarchyId.

System_CAPS_puboperatorSystem_CAPS_static GreaterThan(SqlHierarchyId, SqlHierarchyId)

Проверяет, что один указанный узел SqlHierarchyId больше другого.

System_CAPS_puboperatorSystem_CAPS_static GreaterThanOrEqual(SqlHierarchyId, SqlHierarchyId)

Проверяет, что один указанный узел SqlHierarchyId больше другого или равен другому.

System_CAPS_puboperatorSystem_CAPS_static Inequality(SqlHierarchyId, SqlHierarchyId)

Проверяет неравенство двух узлов SqlHierarchyId.

System_CAPS_puboperatorSystem_CAPS_static LessThan(SqlHierarchyId, SqlHierarchyId)

Проверяет, что один указанный узел SqlHierarchyId меньше другого.

System_CAPS_puboperatorSystem_CAPS_static LessThanOrEqual(SqlHierarchyId, SqlHierarchyId)

Проверяет, что один указанный узел SqlHierarchyId меньше другого или равен другому.

Комментарии

Этот тип предоставляет следующие преимущества для хранения иерархических данных:

  • Хранилище данных очень compact.

  • Сравнение глубину. Индексы на этот тип, в порядке приоритета глубины, и узлы близко друг к другу в обход глубину хранятся рядом друг с другом.

  • Поддержка произвольных вставок и удалений.

  • Ограничение типа том, что один экземпляр типа данных иерархии не больше 892 байтами. Иерархии, которые имеют слишком много уровней в соответствии с размерами это ограничение необходимо использовать другой тип данных.

Тип данных HierarchyId доступен клиентам среды CLR в виде типа данных SqlHierarchyId.

Примеры

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

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

Потокобезопасность

Любые открытые статические элементы ( Предоставлен общий доступ в Visual Basic) этого типа являются потокобезопасными. Потокобезопасность элементов экземпляров не гарантируется.

См. также

Пространство имен Microsoft.SqlServer.Types

Вернуться в начало