Aracılığıyla paylaş


xml (SQL Server)

SEÇME sorgusu sonuçlarını bir döndürür. İsteğe bağlı olarak, sorguyu for xml yan tümcesi belirterek resmi bir sql sorgusu sonuçlarını xml olarak alabilirsiniz. for xml yan tümcesi, üst düzey sorgular ve alt sorgular kullanılabilir. Üst düzey for xml yan tümcesi yalnızca select deyiminde kullanılabilir. Alt sorgular, for xml kullanılan INSERT, update ve delete deyimlerini. Atama deyimleri de kullanılabilir.

for xml yan tümcesi içinde bu modlardan birini belirtin:

  • RAW

  • AUTO

  • AÇIK

  • YOLU

raw modu üreten tek bir <satır> select deyimi tarafından döndürülen satır kümesi satır öğesi. Iç içe for xml sorgular yazarak xml hiyerarşisi oluşturabilirsiniz.

Otomatik mod yerleştirme sonuç xml select deyiminde belirtilen yolda tabanlı heuristics kullanarak üretir. Oluşturulan xml şekli üzerinde en az düzeyde denetime sahip. Iç içe for xml sorguları, xml hiyerarşisi ötesinde auto modu buluşsal yöntemler tarafından oluşturulan xml şekli oluşturmak için yazılabilir.

Açık mod, xml şekli üzerinde daha fazla denetim sağlar. Sen-ebilmek karıştırmak öznitelikleri ve öğeler, xml şekli karar olacaktır. Sorgu yürütme nedeniyle oluşturulan sonuç satır kümesi için belirli bir biçimi gerektirir. Bu satır kümesi biçiminde, daha sonra xml şekle eşleştirilir. Açık modu güçtür mix özellikleri ve öğeleri de, sunulu ve iç içe geçmiş karmaşık özelliklerini oluşturma, boşlukla ayrılmış değerleri oluşturun (örneğin, SiparişNo özniteliği Sipariş Kimliği değerleri listesi olabilir) ve karma içeriği.

Ancak, yazma Açık modu sorguları hantal olabilir. Bazı iç içe for xml raw/otomatik/path modu sorguları ve hiyerarşileri oluşturmak için Açık modu kullanmak yerine type yönergesi, yazma gibi yeni for xml özelliklerini kullanabilirsiniz. Iç içe for xml sorguları herhangi bir xml Açık modu kullanarak oluşturabileceğiniz üretebilir. Daha fazla bilgi için Iç içe for xml sorgular kullanmave TÜR Direktif for xml sorguları.

path modu iç içe for xml sorgu yeteneği ile birlikte, daha basit bir şekilde Açık modu esnekliği sağlar.

Bu modlar yalnızca kendisi için ayarlanan sorgu yürütme için etkindir. Bunlar herhangi bir sonraki sorguların sonuçlarını etkilemez.

İÇİN xml for browse yan tümcesi ile kullanılan herhangi bir seçim için geçerli değildir.

Örnek

Aşağıdaki SELECTdeyimi alır bilgileri Sales.Customerve Sales.SalesOrderHeader içinde tablolar AdventureWorks2012veritabanı. Bu sorgu belirtir AUTOmod FOR XMLfıkra:

USE AdventureWorks2012
GO
SELECT Cust.CustomerID, 
       OrderHeader.CustomerID,
       OrderHeader.SalesOrderID, 
       OrderHeader.Status
FROM Sales.Customer Cust 
INNER JOIN Sales.SalesOrderHeader OrderHeader
ON Cust.CustomerID = OrderHeader.CustomerID
FOR XML AUTO

for xml yan tümcesi ve sunucu adları

for xml yan tümcesi içeren bir select deyimi sorgu four-part adı belirttiğinde, yerel bilgisayardaki sorgu yürütüldüğünde, sunucu adı çıkan xml belgesinde döndürülmez. Ancak, sunucu adı bir ağ sunucusunda sorgu yürütüldüğünde four-part adı olarak döndürülür.

Örneğin, bu sorgu göz önünde bulundurun:

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

Ne zaman ServerNamebir yerel sunucu, aşağıdaki sorgu döndürür:

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

Ne zaman ServerNamebir ağ sunucusu, aşağıdaki sorgu döndürür:

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

Bu olası belirsizlik, bu takma adı belirterek önlenebilir:

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

Bu sorgu aşağıdaki döndürür:

<x LastName="Achong"/>

Ayrıca bkz.

Başvuru

for xml yan tümcesi temel sözdizimi

for xml ile ham modunu kullanın

for xml ile ham modunu kullanın

Kullanımı ile for xml Açık modu

openxml (SQL Server)

DEL - Use FOR XML and OPENXML to Publish and Process XML Data

Kavramlar

for xml ile ham modunu kullanın

Sample XML Applications and Data

İle sorguları WITH xmlnamespaces NameSpaces eklemek