IsDescendantOf (aparat bazy danych)
Zwraca wartość true, jeśli to jest ofparent elementów podrzędnych.
-- Transact-SQL syntax
child.IsDescendantOf ( parent )
-- CLR syntax
SqlHierarchyId IsDescendantOf ( SqlHierarchyId parent )
Argumenty
- parent
The hierarchyid node for which the IsDescendantOf test should be performed.
Zwracane typy
**Zwracany typ programu SQL Server:**bit
**Zwracany typ CLR:**SqlBoolean
Remarks
Zwraca wartość true dla wszystkich węzłów na danego poddrzewa począwszy od obiektu nadrzędnego, a wartość false dla wszystkich innych węzłach.
Nadrzędny jest uważany za swoje własne obiektu podrzędnego.
Przykłady
A.Za pomocą IsDescendantOf w klauzula WHERE
W poniższym przykładzie są zwracane przez menedżera, a pracownicy tego raportu do Menedżera:
DECLARE @Manager hierarchyid
SELECT @Manager = OrgNode FROM HumanResources.EmployeeDemo
WHERE LoginID = 'adventure-works\dylan0'
SELECT * FROM HumanResources.EmployeeDemo
WHERE @OrgNode.IsDescendantOf(Manager) = 1
B.Za pomocą IsDescendantOf do oceny relacji
Poniższy kod deklaruje i trzy zmienne są wstawiane.Następnie oblicza hierarchicznych relacji i zwraca jedną z dwóch wydruki oparte na porównaniu:
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łanie wspólnej metoda środowiska wykonawczego języka
Następujący kod wywołania fragment IsDescendantOf() Metoda.
this.IsDescendantOf(Parent)
See Also