Estructura SqlHierarchyId

 

El tipo SqlHierarchyId representa una posición en una estructura jerárquica, especificando profundidad y amplitud.

Espacio de nombres:   Microsoft.SqlServer.Types
Ensamblado:  Microsoft.SqlServer.Types (en Microsoft.SqlServer.Types.dll)

Sintaxis

[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

Propiedades

Nombre Descripción
System_CAPS_pubproperty IsNull

Obtiene un valor que indica si SqlHierarchyId es null.

System_CAPS_pubpropertySystem_CAPS_static Null

Obtiene un nodo SqlHierarchyId con una identificación de jerarquía de null.

Métodos

Nombre Descripción
System_CAPS_pubmethod CompareTo(Object)

Devuelve un valor que indica los resultados de una comparación entre un nodo SqlHierarchyId y un objeto.

System_CAPS_pubmethod CompareTo(SqlHierarchyId)

Devuelve un valor que indica los resultados de una comparación entre dos nodos SqlHierarchyId.

System_CAPS_pubmethod Equals(Object)

Evalúa si SqlHierarchyId y obj son iguales.(Invalida ValueType.Equals(Object)).

System_CAPS_pubmethod GetAncestor(Int32)

Recupera n niveles del nodo SqlHierarchyId hacia arriba en el árbol jerárquico.

System_CAPS_pubmethod GetDescendant(SqlHierarchyId, SqlHierarchyId)

Obtiene el valor de un nodo SqlHierarchyId descendiente, y que es mayor que child1 y menor que child2.

System_CAPS_pubmethod GetHashCode()

Obtiene un hash de la ruta de acceso del nodo raíz del árbol de jerarquía hasta el nodo SqlHierarchyId.(Invalida ValueType.GetHashCode()).

System_CAPS_pubmethod GetLevel()

Obtiene un valor que indica el nivel del nodo SqlHierarchyId en el árbol de jerarquía.

System_CAPS_pubmethod GetReparentedValue(SqlHierarchyId, SqlHierarchyId)

Obtiene un valor que representa la ubicación de un nuevo nodo SqlHierarchyId que tiene una ruta de acceso desde newRoot igual a la ruta de acceso desde oldRoot hasta this, con lo que, de hecho, se mueve this a la nueva ubicación.

System_CAPS_pubmethodSystem_CAPS_static GetRoot()

Obtiene un valor que representa el nodo SqlHierarchyId raíz de la jerarquía.

System_CAPS_pubmethod GetType()

(Heredado de Object).

System_CAPS_pubmethod IsDescendantOf(SqlHierarchyId)

Obtiene un valor que indica si el nodo SqlHierarchyId es descendiente del elemento primario.

System_CAPS_pubmethodSystem_CAPS_static Parse(SqlString)

Convierte la representación de cadena canónica de un nodo SqlHierarchyId en un valor SqlHierarchyId.

System_CAPS_pubmethod Read(BinaryReader)

Lee desde un lector binario especificado en un nodo SqlHierarchyId.

System_CAPS_pubmethod ToString()

Devuelve la representación de cadena canónica de un nodo SqlHierarchyId desde un valor SqlHierarchyId.(Invalida ValueType.ToString()).

System_CAPS_pubmethod Write(BinaryWriter)

Escribe un nodo SqlHierarchyId en un escritor binario especificado.

Operadores

Nombre Descripción
System_CAPS_puboperatorSystem_CAPS_static Equality(SqlHierarchyId, SqlHierarchyId)

Evalúa si dos nodos SqlHierarchyId son iguales.

System_CAPS_puboperatorSystem_CAPS_static GreaterThan(SqlHierarchyId, SqlHierarchyId)

Evalúa si un nodo SqlHierarchyId especificado es mayor que otro.

System_CAPS_puboperatorSystem_CAPS_static GreaterThanOrEqual(SqlHierarchyId, SqlHierarchyId)

Evalúa si un nodo SqlHierarchyId especificado es mayor o igual que otro.

System_CAPS_puboperatorSystem_CAPS_static Inequality(SqlHierarchyId, SqlHierarchyId)

Evalúa si dos nodos SqlHierarchyId no son iguales.

System_CAPS_puboperatorSystem_CAPS_static LessThan(SqlHierarchyId, SqlHierarchyId)

Evalúa si un nodo SqlHierarchyId especificado es menor que otro.

System_CAPS_puboperatorSystem_CAPS_static LessThanOrEqual(SqlHierarchyId, SqlHierarchyId)

Evalúa si un nodo SqlHierarchyId especificado es menor o igual que otro.

Comentarios

Este tipo proporciona las siguientes ventajas para almacenar información jerárquica:

  • Almacenamiento de datos muy compacto.

  • Comparación de prioridad de profundidad. Índices de este tipo están en orden de prioridad de profundidad y nodos cercanos entre sí en un corte transversal de prioridad de profundidad se almacenan unos junto a otros.

  • Compatibilidad con inserciones y eliminaciones arbitrarias.

  • Una limitación de este tipo es que una única instancia del tipo de datos de jerarquía puede ser no supere los 892 bytes. Las jerarquías que posean demasiados niveles para ajustarse a esta limitación deben utilizar un tipo de datos diferente.

El tipo HierarchyId está disponible para los clientes CLR como el tipo de datos SqlHierarchyId.

Ejemplos

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

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

Seguridad para subprocesos

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Ver también

Espacio de nombres Microsoft.SqlServer.Types

Volver al principio