Udostępnij przez


Automatyczny tryb heurystyki w kształtowania zwracane XML

Automatyczny tryb Określa kształt XML zwrócone na podstawie kwerendy.Przy ustalaniu, jak elementy mają być zagnieżdżone, automatyczny tryb heurystykę porównać wartości kolumna w sąsiednich wierszach.Kolumny wszystkie typy z wyjątkiem ntext, tekstu, obrazu, i xml, są porównywane.Kolumny typu (n)varchar(max) i varbinary(max) są porównywane.

Poniższy przykład ilustruje heurystykę trybu automatycznego określających kształt wynikowy XML:

SELECT T1.Id, T2.Id, T1.Name
FROM   T1, T2
WHERE ...
FOR XML AUTO
ORDER BY T1.Id

Aby ustalić, gdzie nowy <T1> uruchamia elementu wszystkie wartości kolumna tabela t1, z wyjątkiem ntext, tekstu, obrazu i xml, są porównywane, jeżeli nie określono klucz na tabela T1.Następnie należy zakładać, że nazwę kolumna jest nvarchar(40) i instrukcja SELECT zwraca ten zestaw wierszy:

T1.Id  T1.Name  T2.Id
-----------------------
1       Andrew    2
1       Andrew    3
1       Nancy     4

Heurystykę trybu automatycznego porównać wartości tabela T1, identyfikator i nazwę kolumny.Ponieważ dwa pierwsze wiersze mają te same wartości dla kolumny Identyfikator i nazwę jednego <T1> element o dwóch <T2> elementów podrzędność jest dodawany w wyniku.

XML, która jest zwracana jest następujący:

<T1 Id="1" Name="Andrew">
    <T2 Id="2" />
    <T2 Id="3" />
</T1>
<T1 Id="1" Name="Nancy" >
      <T2 Id="4" />
</T>

Załóżmy teraz, że nazwa kolumna jest tekstu typu.Heurystykę trybu automatycznego porównuje wartości dla tego typu.Zakłada się, że wartości nie są takie same.To wyniki w generowaniu XML, jak pokazano poniżej:

<T1 Id="1" Name="Andrew" >
  <T2 Id="2" />
</T1>
<T1 Id="1" Name="Andrew" >
  <T2 Id="3" />
</T1>
<T1 Id="1" Name="Nancy" >
  <T2 Id="4" />
</T1>

Zobacz także

Odwołanie