IsDescendantOf (Motore di database)
Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure
Restituisce true se l'elemento è un discendente dell'elemento padre.
Sintassi
-- Transact-SQL syntax
child. IsDescendantOf ( parent )
-- CLR syntax
SqlHierarchyId IsDescendantOf (SqlHierarchyId parent )
Nota
Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.
Argomenti
parent
Nodo hierarchyid per cui il test IsDescendantOf deve essere eseguito.
Tipi restituiti
Tipo SQL Server restituito: bit
Tipo CLR restituito: SqlBoolean
Osservazioni:
Restituisce true per tutti i nodi nel sottoalbero con radice nel padre specificato e false per tutti gli altri nodi.
Un padre è considerato discendente di se stesso.
Esempi
R. Utilizzo di IsDescendantOf in una clausola WHERE
Nell'esempio seguente vengono restituiti un responsabile e i relativi dipendenti diretti:
DECLARE @Manager hierarchyid
SELECT @Manager = OrgNode FROM HumanResources.EmployeeDemo
WHERE LoginID = 'adventure-works\dylan0'
SELECT * FROM HumanResources.EmployeeDemo
WHERE OrgNode.IsDescendantOf(@Manager) = 1
B. Utilizzo di IsDescendantOf per valutare una relazione
Nel codice seguente vengono dichiarate tre variabili cui vengono assegnati i valori relativi. Viene quindi valutata la relazione gerarchica e restituito uno dei due risultati stampati in base al confronto:
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. Chiamata a un metodo Common Language Runtime
Nel frammento di codice seguente viene chiamato il metodo IsDescendantOf()
.
this.IsDescendantOf(Parent)
Vedi anche
Guida di riferimento ai metodi per il tipo di dati hierarchyid
Dati gerarchici (SQL Server)
hierarchyid (Transact-SQL)
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per