Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
FOR XML modu RAW, AUTO, EXPLICIT veya PATH olabilir. Sonuçta elde edilen XML'in şeklini belirler.
Önemli
FOR XML seçeneğine yönelik XMLDATA yönergesi kullanım dışıdır. RAW ve AUTO modları söz konusu olduğunda XSD oluşturma özelliğini kullanın. EXPLICIT modunda XMLDATA yönergesi için bir ikame yoktur. Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.
Sözdizimi
FOR Yan Tümcesi (Transact-SQL) bölümünde açıklanan temel söz dizimi aşağıdadır.
[ FOR { BROWSE | <XML> } ]
<XML> ::=
XML
{
{ RAW [ ('ElementName') ] | AUTO }
[
<CommonDirectives>
[ , { XMLDATA | XMLSCHEMA [ ('TargetNameSpaceURI') ]} ]
[ , ELEMENTS [ XSINIL | ABSENT ]
]
| EXPLICIT
[
<CommonDirectives>
[ , XMLDATA ]
]
| PATH [ ('ElementName') ]
[
<CommonDirectives>
[ , ELEMENTS [ XSINIL | ABSENT ] ]
]
}
<CommonDirectives> ::=
[ , BINARY BASE64 ]
[ , TYPE ]
[ , ROOT [ ('RootName') ] ]
Arguments
RAW [('ElementName')]
Sorgu sonucunu alır ve sonuç kümesindeki her satırı, öğe etiketi olarak genel tanımlayıcısı <row />olan bir XML öğesine dönüştürür. Bu yönergeyi kullanırken isteğe bağlı olarak satır öğesi için bir ad belirtebilirsiniz. Sonuçta elde edilen XML, her satır için oluşturulan satır öğesi olarak belirtilen ElementName öğesini kullanır. Daha fazla bilgi için bkz. FOR XML ile RAW Modu kullanma.
AUTO
Sorgu sonuçlarını basit, iç içe yerleştirilmiş bir XML ağacında döndürür. SELECT yan tümcesinde en az bir sütunun listelendiği FROM yan tümcesindeki her tablo bir XML öğesi olarak temsil edilir. SELECT yan tümcesinde listelenen sütunlar uygun öğe özniteliklerine eşlenir. Daha fazla bilgi için bkz. FOR XML ile AUTO Mode kullanma.
AÇIK
Sonuçta elde edilen XML ağacının şeklinin açıkça tanımlandığını belirtir. Bu mod kullanıldığında, istediğiniz iç içe yerleştirme hakkında ek bilgilerin açıkça belirtilmesi için sorguların belirli bir şekilde yazılması gerekir. Daha fazla bilgi için bkz . FOR XML ile AÇıK Modu kullanma.
DİZİN
Öğeleri ve öznitelikleri karıştırmak ve karmaşık özellikleri temsil etmek için ek iç içe yerleştirme eklemek için daha basit bir yol sağlar. Bir satır kümesinden bu tür XML oluşturmak için FOR XML EXPLICIT modu sorgularını kullanabilirsiniz, ancak PATH modu, olası zahmetli AÇıK mod sorgularına daha basit bir alternatif sağlar. PATH modu, iç içe FOR XML sorguları yazma özelliği ve xml türü örnekleri döndürmeye yönelik TYPE yönergesi ile birlikte, daha az karmaşıklığı olan sorgular yazmanızı sağlar. Çoğu EXPLICIT mod sorgusunu yazmaya alternatif sunar. Varsayılan olarak, PATH modu sonuç kümesindeki her satır için bir <row> öğe sarmalayıcı oluşturur. İsteğe bağlı olarak bir öğe adı belirtebilirsiniz. Bunu yaparsanız, belirtilen ad sarmalayıcı öğesi adı olarak kullanılır. Boş bir dize (FOR XML PATH (''))sağlarsanız, hiçbir sarmalayıcı öğesi oluşturulmaz. Daha fazla bilgi için bkz. FOR XML ile PATH Modu'nu kullanma.
MLDATA
Satır içi bir XML-Data Reduced (XDR) şemasının döndürülmesi gerektiğini belirtir. Şema, belgeye satır içi şema olarak eklenir. Çalışan bir örnek için bkz. FOR XML ile RAW Modu kullanma.
XMLSCHEMA
Satır içi bir W3C XML Şeması (XSD) döndürür. Bu yönergeyi belirtirken isteğe bağlı olarak bir hedef ad alanı URI'sini belirtebilirsiniz. Bu, şemada belirtilen ad alanını döndürür. Daha fazla bilgi için bkz. Satır içi XSD Şeması Oluşturma. Çalışan bir örnek için bkz. FOR XML ile RAW Modu kullanma.
ELEMANLAR
ELEMENTS seçeneği belirtilirse, sütunlar alt öğe olarak döndürülür. Aksi takdirde, XML özniteliklerine eşlenirler. Bu seçenek yalnızca RAW, AUTO ve PATH modlarında desteklenir. Bu yönergeyi kullanırken isteğe bağlı olarak XSINIL veya ABSENT belirtebilirsiniz. XSINIL, NULL sütun değerleri için xsi:nil özniteliği True olarak ayarlanmış bir öğenin oluşturulduğunu belirtir. Varsayılan olarak veya ELEMENTS ile birlikte ABSENT belirtildiğinde, NULL değerler için herhangi bir öğe oluşturulmaz. Çalışan bir örnek için bkz. FOR XML ile RAW Modu kullanma ve FOR XML ile AUTO Modu kullanma.
İKILI TABAN64
BINARY Base64 seçeneği belirtilirse, sorgu tarafından döndürülen tüm ikili veriler base64 ile kodlanmış biçimde temsil edilir. RAW ve EXPLICIT modunu kullanarak ikili verileri almak için bu seçeneğin belirtilmesi gerekir. AUTO modunda, ikili veriler varsayılan olarak başvuru olarak döndürülür. Çalışan bir örnek için bkz. FOR XML ile RAW Modu kullanma.
TYPE
Sorgunun sonuçları xml türü olarak döndürdüğünü belirtir. Daha fazla bilgi için bkz. FOR XML Sorguları'nda TYPE Yönergesi.
ROOT [('RootName')]
Sonuçta elde edilen XML'e tek, en üst düzey bir öğenin eklendiğini belirtir. İsteğe bağlı olarak oluşturulacak kök öğe adını belirtebilirsiniz. Varsayılan değer şudur: <root>.
Açıklamalar
Dokümantasyonda Azure SQL Veritabanı veya SQL Veritabanı için de geçerli olan yan tümceyle ilgili belgeler için bakınız: SELECT... FOR XML.