IsDescendantOf (motor de base de datos)
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Instancia administrada
Devuelve true si this es descendiente del elemento primario.
Sintaxis
-- Transact-SQL syntax
child. IsDescendantOf ( parent )
-- CLR syntax
SqlHierarchyId IsDescendantOf (SqlHierarchyId parent )
Nota:
Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.
Argumentos
parent
El nodo hierarchyid para el que se debe realizar la prueba IsDescendantOf.
Tipos de valor devuelto
Tipo de valor devuelto de SQL Server:bit
Tipo de valor devuelto de CLR:SqlBoolean
Observaciones
Devuelve true para todos los nodos del subárbol con la raíz en el elemento primario y false para todos los demás nodos.
El elemento primario se considera su propio descendiente.
Ejemplos
A. Usar IsDescendantOf en una cláusula WHERE
El ejemplo siguiente devuelve un administrador y los empleados que dependen de él:
DECLARE @Manager hierarchyid
SELECT @Manager = OrgNode FROM HumanResources.EmployeeDemo
WHERE LoginID = 'adventure-works\dylan0'
SELECT * FROM HumanResources.EmployeeDemo
WHERE OrgNode.IsDescendantOf(@Manager) = 1
B. Usar IsDescendantOf para evaluar una relación
En el código siguiente se declaran y rellenan tres variables. A continuación se evalúa la relación jerárquica y se devuelve uno de dos resultados impresos según la comparación:
DECLARE @Manager hierarchyid, @Employee hierarchyid, @LoginID nvarchar(256)
SELECT @Manager = OrgNode FROM HumanResources.EmployeeDemo
WHERE LoginID = 'adventure-works\terri0' ;
SELECT @Employee = OrgNode, @LoginID = LoginID FROM HumanResources.EmployeeDemo
WHERE LoginID = 'adventure-works\rob0'
IF @Employee.IsDescendantOf(@Manager) = 1
BEGIN
PRINT 'LoginID ' + @LoginID + ' is a subordinate of the selected Manager.'
END
ELSE
BEGIN
PRINT 'LoginID ' + @LoginID + ' is not a subordinate of the selected Manager.' ;
END
C. Llamada de un método del Common Language Runtime
En el fragmento de código siguiente se llama al método IsDescendantOf()
.
this.IsDescendantOf(Parent)
Consulte también
Referencia de los métodos del tipo de datos hierarchyid
Datos jerárquicos (SQL Server)
hierarchyid (Transact-SQL)
Comentarios
https://aka.ms/ContentUserFeedback.
Proximamente: Ao longo de 2024, retiraremos gradualmente GitHub Issues como mecanismo de comentarios sobre o contido e substituirémolo por un novo sistema de comentarios. Para obter máis información, consulte:Enviar e ver os comentarios