Udostępnij za pośrednictwem


IsDescendantOf (aparat bazy danych)

Dotyczy:sql ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL Database w usłudze Microsoft Fabric

Zwraca wartość true, jeśli tym jest elementem potomnym elementu nadrzędnego.

Składnia

-- Transact-SQL syntax  
child. IsDescendantOf ( parent )  
-- CLR syntax  
SqlHierarchyId IsDescendantOf (SqlHierarchyId parent )  

Argumenty

nadrzędna
hierarchyid węzła, dla którego należy wykonać test IsDescendantOf.

Typy zwracane

zwracany typ programu SQL Server:bit

zwracany typ clR:SqlBoolean

Uwagi

Zwraca wartość true dla wszystkich węzłów w pod drzewie nadrzędnym i false dla wszystkich innych węzłów.

Element nadrzędny jest uważany za własny element potomny.

Przykłady

A. Używanie metody IsDescendantOf w klauzuli WHERE

Poniższy przykład zwraca menedżera i pracowników, którzy zgłaszają go menedżerowi:

DECLARE @Manager hierarchyid  
SELECT @Manager = OrgNode FROM HumanResources.EmployeeDemo  
  WHERE LoginID = 'adventure-works\dylan0'  
  
SELECT * FROM HumanResources.EmployeeDemo  
WHERE OrgNode.IsDescendantOf(@Manager) = 1  

B. Używanie metody IsDescendantOf do oceny relacji

Poniższy kod deklaruje i wypełnia trzy zmienne. Następnie oblicza relację hierarchiczną i zwraca jeden z dwóch wydrukowanych wyników na podstawie porównania:

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. Wywoływanie metody środowiska uruchomieniowego języka wspólnego

Poniższy fragment kodu wywołuje metodę IsDescendantOf().

this.IsDescendantOf(Parent)  

Zobacz też

hierarchyid odwołanie do metody typu danych
danych hierarchicznych (SQL Server)
hierarchyid (Transact-SQL)