GetLevel (motor de base de datos)
Devuelve un entero que representa la profundidad del nodo this en el árbol.
Sintaxis
-- Transact-SQL syntax
node.GetLevel ( )
-- CLR syntax
SqlInt16 GetLevel ( )
Tipos de valores devueltos
Tipo de valor devuelto de SQL Server: smallint
Tipo de valor devuelto de CLR: SqlInt16
Comentarios
Se utiliza para determinar el nivel de uno o más nodos o para filtrar los nodos a los miembros de un nivel especificado. La raíz del árbol de jerarquía tiene el nivel 0.
GetLevel resulta muy útil para los índices de búsqueda con prioridad a la amplitud. Para obtener más información, vea Datos jerárquicos (SQL Server).
Ejemplos
A.Devolver el nivel de jerarquía como una columna
El ejemplo siguiente devuelve una representación de texto del objeto hierarchyid y, a continuación, el nivel de jerarquía como la columna EmpLevel para todas las filas de la tabla:
SELECT OrgNode.ToString() AS Text_OrgNode,
OrgNode.GetLevel() AS EmpLevel, *
FROM HumanResources.EmployeeDemo
B.Devolver todos los miembros de un nivel de jerarquía
El ejemplo siguiente devuelve todas las filas de la tabla que están en el nivel de jerarquía 2:
SELECT OrgNode.ToString() AS Text_OrgNode,
OrgNode.GetLevel() AS EmpLevel, *
FROM HumanResources.EmployeeDemo
WHERE OrgNode.GetLevel() = 2
C.Devolver la raíz de la jerarquía
El ejemplo siguiente devuelve la raíz del nivel de jerarquía:
SELECT OrgNode.ToString() AS Text_OrgNode,
OrgNode.GetLevel() AS EmpLevel, *
FROM HumanResources.EmployeeDemo
WHERE OrgNode.GetLevel() = 0
D.Ejemplo de CLR
En el fragmento de código siguiente se llama al método GetLevel():
this.GetLevel()