Udostępnij za pośrednictwem


Konstruowanie XML za pomocą języka XML dla

Kwerenda zwraca wyniki jako zestawu zestaw wierszy.Opcjonalnie można pobrać formalne wyniki kwerendy SQL jako XML przez określenie klauzula XML dla kwerendy.Klauzula dla XML można w kwerendach najwyższego poziom i kwerendach sub.Klauzula najwyższego poziom dla XML mogą być używane tylko w instrukcja SELECT.W kwerendach sub dla XML mogą być używane w INSERT, UPDATE i Usuń sprawozdania.Może również służyć w instrukcji przypisania.

W klauzula XML do należy określić jeden z następujących trybów:

  • RAW

  • AUTOMATYCZNE

  • JAWNE

  • ŚCIEŻKA

Tryb NIEPRZETWORZONY generuje pojedynczy <wiersz> w jednym wierszu zestawu zestaw wierszy zwracanego przez wybierz instrukcja.Pisząc kwerend zagnieżdżonych FOR XML można generować hierarchii XML.

Tryb AUTOMATYCZNIE generuje zagnieżdżanie w wynikowym pliku XML przy użyciu heurystyki oparte na sposobie określonych instrukcja SELECT.Mieć minimalne kontrolować kształt XML generowane.Można napisać kwerend zagnieżdżonych XML dla hierarchii XML poza kształt XML generowany przez heurystykę trybu automatycznego generowania.

Tryb JAWNE pozwala lepiej kontrolować kształt XML.Można łączyć atrybutów i elementy w będzie podejmując kształtu XML.Wymaga on określony format wynikowy zestaw wierszy wygenerowanych ze względu na wykonanie kwerendy.Format ten zestaw wierszy jest następnie mapowana do kształtu XML.Zasilania JAWNE trybu jest wymieszać atrybuty i elementy życzeniem, tworzenia zagnieżdżonych właściwości złożonych i otok, tworzyć wartości oddzielonych spacjami (na przykład atrybut IDZamówienia może mieć listę wartości Identyfikatora zamówienia,) i zawartość mieszana.

Jednakże pisania JAWNE trybu kwerend może być uciążliwe.Można użyć niektóre nowe funkcje XML dla takich jak pisania kwerend zagnieżdżonych tryb dla surowców/AUTO/ścieżki XML i dyrektywy typu zamiast JAWNEGO trybu do generowania hierarchie.Dowolny plik XML, który może wygenerować przy użyciu trybu JAWNE służy do tworzenia kwerend zagnieżdżonych XML dla.Aby uzyskać więcej informacji, zobacz Zagnieżdżony kwerendy XML i Typ dyrektywy w XML dla kwerend.

Tryb ŚCIEŻKA wraz z zagnieżdżonymi możliwości kwerendy XML dla zapewnia elastyczność JAWNE tryb w prostszy sposób.

Tryby te obowiązują tylko w przypadku wykonania kwerendy, w którym są zestaw.Nie wpływają one na wyniki wszelkich kolejnych kwerend.

WEDŁUG obliczeń i PRZEGLĄDAJ klauzul

DLA XML jest nieprawidłowa dla dowolnego zaznaczenia, używany z klauzula COMPUTE BY lub do PRZEGLĄDANIA.Na przykład następujące spowoduje błąd:

SELECT TOP 5 SalesOrderID, UnitPrice 
FROM Sales.SalesOrderDetail 
ORDER BY SalesOrderID COMPUTE SUM(UnitPrice) BY SalesOrderID
FOR XML AUTO

XML dla klauzuli i nazwy serwera

Po instrukcja SELECT z klauzula XML dla określa czteroczęściowym nazwę kwerendy, nazwa serwera nie jest zwracana w wynikowym dokumencie XML, gdy kwerenda jest wykonywana na komputerze lokalnym.Jednak nazwa serwera zwracane jest nazwą czteroczęściowym kwerendy jest wykonywany na serwerze sieciowym.

Rozważmy na przykład kwerendy:

SELECT TOP 1 LastName
FROM ServerName.AdventureWorks2008R2.Person.Person
FOR XML AUTO

Gdy ServerName jest lokalny serwer, kwerenda zwraca następujące:

<AdventureWorks2008R2.Person.Person LastName="Achong" />

Gdy ServerName jest serwerem sieci kwerenda zwraca następujące:

<ServerName.AdventureWorks2008R2.Person.Person LastName="Achong" />

Określając ten alias można uniknąć tej potencjalnej niejednoznaczności:

SELECT TOP 1 LastName
FROM ServerName.AdventureWorks2008R2.Person.Person x
FOR XML AUTO 

Ta kwerenda zwraca następujące czynności:

<x LastName="Achong"/>