IsDescendantOf (Datenbank-Engine)
Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance
Gibt TRUE zurück, wenn this ein Nachfolger von „parent“ ist.
Syntax
-- Transact-SQL syntax
child. IsDescendantOf ( parent )
-- CLR syntax
SqlHierarchyId IsDescendantOf (SqlHierarchyId parent )
Hinweis
Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.
Argumente
parent
Der hierarchyid-Knoten, für den der IsDescendantOf-Test ausgeführt werden sollte.
Rückgabetypen
SQL Server-Rückgabetyp: bit
CLR-Rückgabetyp: SqlBoolean
Bemerkungen
Gibt true für alle Knoten in der Teilstruktur zurück, die die übergeordnete Struktur als Stamm aufweisen, und false für alle anderen Knoten.
Das übergeordnete Element wird als sein eigener Nachfolger behandelt.
Beispiele
A. Verwenden von IsDescendantOf in einer WHERE-Klausel
Im folgenden Beispiel werden ein Manager sowie die Mitarbeiter angezeigt, die diesem direkt unterstellt sind.
DECLARE @Manager hierarchyid
SELECT @Manager = OrgNode FROM HumanResources.EmployeeDemo
WHERE LoginID = 'adventure-works\dylan0'
SELECT * FROM HumanResources.EmployeeDemo
WHERE OrgNode.IsDescendantOf(@Manager) = 1
B. Verwenden von IsDescendantOf zur Evaluierung einer Beziehung
Im folgenden Code werden drei Variablen deklariert und aufgefüllt. Dann wird die hierarchische Beziehung evaluiert und eines von zwei Ergebnissen auf Grundlage des Vergleiches zurückgegeben:
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. Aufrufen einer Common Language Runtime-Methode
Im folgenden Codeausschnitt wird die IsDescendantOf()
-Methode aufgerufen.
this.IsDescendantOf(Parent)
Weitere Informationen
hierarchyid-Datentyp-Methodenverweis
Hierarchische Daten (SQL Server)
hierarchyid (Transact-SQL)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für