Condividi tramite


GetLevel (Motore di database)

Restituisce un integer che rappresenta la profondità del nodo questo elemento nell'albero.

Sintassi

-- Transact-SQL syntax
node.GetLevel ( ) 

-- CLR syntax
SqlInt16 GetLevel ( ) 

Tipi restituiti

**Tipo SQL Server restituito:**smallint

**Tipo CLR restituito:**SqlInt16

Osservazioni

Utilizzato per determinare il livello di uno o più nodi o per filtrare i nodi sui membri di un livello specificato. La radice della gerarchia si trova a livello 0.

GetLevel risulta particolartmente utile per gli indici di ricerca breadth-first. Per ulteriori informazioni, vedere Utilizzo dei tipi di dati hierarchyid (Motore di database).

Esempi

A. Restituzione del livello della gerarchia come una colonna

Nell'esempio seguente vengono restituiti una rappresentazione in formato testo di hierarchyid e quindi il livello della gerarchia come la colonna EmpLevel per tutte le righe della tabella:

SELECT OrgNode.ToString() AS Text_OrgNode, 
OrgNode.GetLevel() AS EmpLevel, *
FROM HumanResources.EmployeeDemo

B. Restituzione di tutti i membri di un livello della gerarchia

Nell'esempio seguente vengono restituite tutte le righe della tabella a livello 2 della gerarchia:

SELECT OrgNode.ToString() AS Text_OrgNode, 
OrgNode.GetLevel() AS EmpLevel, *
FROM HumanResources.EmployeeDemo
WHERE OrgNode.GetLevel() = 2

C. Restituzione della radice della gerarchia

Nell'esempio seguente viene restituita la radice del livello della gerarchia:

SELECT OrgNode.ToString() AS Text_OrgNode, 
OrgNode.GetLevel() AS EmpLevel, *
FROM HumanResources.EmployeeDemo
WHERE OrgNode.GetLevel() = 0

D. Esempio CLR

Nel frammento di codice seguente viene chiamato il metodo GetLevel().

this.GetLevel()