Condividi tramite


Struttura SqlHierarchyId

The SqlHierarchyId type represents a position in a hierarchical structure, specifying depth and breadth.

Spazio dei nomi  Microsoft.SqlServer.Types
Assembly:  Microsoft.SqlServer.Types (in Microsoft.SqlServer.Types.dll)

Sintassi

'Dichiarazione
<CLSCompliantAttribute(True)> _
<SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered := True,  _
    MaxByteSize := , Name := "SqlHierarchyId")> _
Public Structure SqlHierarchyId _
    Implements IBinarySerialize, INullable, IComparable
'Utilizzo
Dim instance As SqlHierarchyId
[CLSCompliantAttribute(true)]
[SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered = true, 
    MaxByteSize = , Name = "SqlHierarchyId")]
public struct SqlHierarchyId : IBinarySerialize, 
    INullable, IComparable
[CLSCompliantAttribute(true)]
[SqlUserDefinedTypeAttribute(Format::UserDefined, IsByteOrdered = true, 
    MaxByteSize = , Name = L"SqlHierarchyId")]
public value class SqlHierarchyId : IBinarySerialize, 
    INullable, IComparable
[<SealedAttribute>]
[<CLSCompliantAttribute(true)>]
[<SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered = true, 
    MaxByteSize = , Name = "SqlHierarchyId")>]
type SqlHierarchyId =  
    struct 
        interface IBinarySerialize 
        interface INullable 
        interface IComparable 
    end
JScript supporta l'utilizzo di strutture, ma non la dichiarazione di nuove strutture.

Nel tipo SqlHierarchyId sono esposti i membri seguenti.

Proprietà

  Nome Descrizione
Proprietà pubblica IsNull Gets a value indicating whether the SqlHierarchyId is nullriferimento Null (Nothing in Visual Basic)..
Proprietà pubblicaMembro statico Null Gets a SqlHierarchyId with a hierarchy identification of nullriferimento Null (Nothing in Visual Basic)..

In alto

Metodi

  Nome Descrizione
Metodo pubblico CompareTo(Object) Returns a value indicating the results of a comparison between a SqlHierarchyId and an object.
Metodo pubblico CompareTo(SqlHierarchyId) Returns a value indicating the results of a comparison between two SqlHierarchyId nodes.
Metodo pubblico Equals Evaluates whether SqlHierarchyId and obj are equal. Esegue l'override di ValueType.Equals(Object).
Metodo pubblico GetAncestor Retrieves the SqlHierarchyId node n levels up the hierarchical tree.
Metodo pubblico GetDescendant Gets the value of a descendant SqlHierarchyId node that is greater than child1 and less than child2.
Metodo pubblico GetHashCode Gets a hash of the path from the root node of the hierarchy tree to the SqlHierarchyId node. Esegue l'override di ValueType.GetHashCode().
Metodo pubblico GetLevel Gets a value indicating the level of the SqlHierarchyId node in the hierarchical tree.
Metodo pubblico GetReparentedValue Gets a value representing the location of a new SqlHierarchyId node that has a path from newRoot equal to the path from oldRoot to this, effectively moving this to the new location.
Metodo pubblicoMembro statico GetRoot Gets a value representing the root SqlHierarchyId node of the hierarchy.
Metodo pubblico GetType Ereditato da Object.
Metodo pubblico IsDescendantOf Gets a value indicating whether the SqlHierarchyId node is the descendant of the parent.
Metodo pubblicoMembro statico Parse Converts the canonical string representation of a SqlHierarchyId node to a SqlHierarchyId value.
Metodo pubblico Read Reads from a specified binary reader into a SqlHierarchyId.
Metodo pubblico ToString Returns the canonical string representation of a SqlHierarchyId node from a SqlHierarchyId value. Esegue l'override di ValueType.ToString().
Metodo pubblico Write Writes a SqlHierarchyId to a specified binary writer.

In alto

Operatori

  Nome Descrizione
Operatore pubblicoMembro statico Equality Evaluates whether two SqlHierarchyId nodes are equal.
Operatore pubblicoMembro statico GreaterThan Evaluates whether one specified SqlHierarchyId node is greater than another.
Operatore pubblicoMembro statico GreaterThanOrEqual Evaluates whether one specified SqlHierarchyId node is greater than or equal to another.
Operatore pubblicoMembro statico Inequality Evaluates whether two SqlHierarchyId nodes are unequal.
Operatore pubblicoMembro statico LessThan Evaluates whether one specified SqlHierarchyId node is less than another.
Operatore pubblicoMembro statico LessThanOrEqual Evaluates whether one specified SqlHierarchyId node is less than or equal to another.

In alto

Osservazioni

This type provides the following benefits for storing hierarchical information:

  • Very compact data storage.

  • Depth-first comparison. Indexes on this type are in depth-first order, and nodes close to each other in a depth-first traversal are stored near each other.

  • Support for arbitrary insertions and deletions.

  • A limitation of this type is that a single instance of the hierarchy data type can be no larger than 892 bytes. Hierarchies that possess too many levels to fit within this limitation must use a different data type.

The HierarchyId type is available to CLR clients as the SqlHierarchyId data type.

Esempi

DECLARE @employee hierarchyid
SELECT @employee = OrgNode FROM HumanResources.EmployeeDemo
  WHERE LoginID = 'adventure-works\dylan0'

SELECT * FROM HumanResources.EmployeeDemo
WHERE @employee.IsDescendantOf(OrgNode) = 1

Protezione dei thread

I membri static (Shared in Visual Basic) pubblici di questo tipo sono affidabili. Non è invece garantita la sicurezza dei membri dell'istanza.

Vedere anche

Riferimento

Spazio dei nomi Microsoft.SqlServer.Types