(Transact-SQL) yan tümce için
Yan göz atma veya XML seçeneği belirtmek için kullanılır.Göz atma ve XML ilgisiz seçeneklerdir.
Important Note: |
---|
XMLDATA yönergesi için XML seçeneği önerilmiyor.XSD nesil, RAW ve otomatik mod durumunda kullanın.AÇIK modda XMLDATA yönergesi için hiçbir değişiklik yok.This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. |
[ 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' ) ] ]
Bağımsız değişkenler
GÖZ ATMA
DB-Library gözatma modu imleç içinde veriyi görüntülerken güncelleştirmeleri verileceğini belirtir.Tablo içeriyorsa, bir tablo uygulama göz birtimestampsütun, tabloda benzersiz dizin ve BROWSE FOR seçeneği örneğine gönderilen SELECT deyimi sonundaSQL Server.Not
Kullanamazsınız<lock_hint>HOLDLOCK, bir deyim içeren FOR BROWSE seçeneği.
FOR BROWSE olamaz görünür UNION işlecini. Birleştirilmiş SELECT deyimleri
Not
Tablonun benzersiz dizin anahtar sütunları null ve tablo bir dış birleştirmek iç tarafında ise, dizin gözatma modu tarafından desteklenmiyor.
Satır tarama gözatma modu sağlar,SQL ServerTablo ve güncelleştirme verileri tabloya bir satır bir saat.Erişmek için birSQL Serveruygulamanızda tabloda gözatma modu, aşağıdaki iki seçenekten birini kullanın:
Gelen verilere erişmek için kullandığınız the deyim,SQL ServerTablo, anahtar sözcükleri ile bitmelidirFOR BROWSE.Etkinleştirdikten,FOR BROWSEkullanmak için seçeneği gözatma modu, geçici tablolar oluşturulur.
Aşağıdaki çalıştırmanız gerekirTransact-SQLaçmak için bildirimi gözatma modu kullanarakNO_BROWSETABLEseçeneği:
SET NO_BROWSETABLE ON
Etkinleştirdikten,NO_BROWSETABLEseçeneği, tüm SELECT ifadelerine çalışır gibiFOR BROWSEseçeneği eklenir ifadeleri.Ancak,NO_BROWSETABLEseçeneği oluşturmaz geçici tablolar,FOR BROWSEgenellikle seçeneği kullanan sonuçlar göndermek için uygulama.
Verileri erişim çalıştığınızdaSQL Server, tablo gözatma modu bir dış birleştirmek bildirimi içeren bir SELECT sorgusu kullanarak ve bir dış birleştirmek deyim iç tarafında mevcut olan tablo üzerinde benzersiz dizin tanımlı gözatma modu benzersiz dizin. desteklemiyorYalnızca tüm benzersiz dizin anahtar sütunları null değerleri kabul edebilir, benzersiz dizin tarama modunu destekler.Aşağıdaki koşullar doğruysa, benzersiz dizin gözatma modu desteklemez:
Verileri erişmeyi deneyinSQL Servertablolarda göz atma modunu kullanarak bir SELECT sorgusu, ilgili dış birleştirmek bir deyim.
Bir dış birleştirmek deyim iç tarafında mevcut olan tablo üzerinde benzersiz dizin tanımlı.
gözatma modu bu davranışı yeniden oluşturmak için aşağıdaki adımları izleyin:
InSQL Server Management Studiobir veritabanı adı oluşturun SampleDB.
SampleDB veritabanındaki tleft tablosu ve her ikisi de c1 adlı tek bir sütun içeren tright tablo oluşturun.Tleft tablonun c1 sütununda benzersiz dizin tanımlamanız ve küme sütunun null değerleri kabul eder.Bunu yapmak için aşağıdaki çalıştırınTransact-SQLbir uygun sorgu penceresindeki ifadeleri:
CREATE TABLE tleft(c1 INT NULL UNIQUE) ; GO CREATE TABLE tright(c1 INT NULL) ; GO
Tleft tablo ve tright tablosunda birden fazla değer ekleyin.Null değeri tleft yerleştirdiğinizden emin olun tablo.Bunu yapmak için aşağıdaki çalıştırınTransact-SQLsorgu penceresindeki ifadeleri:
INSERT INTO tleft VALUES(2) ; INSERT INTO tleft VALUES(NULL) ; INSERT INTO tright VALUES(1) ; INSERT INTO tright VALUES(3) ; INSERT INTO tright VALUES(NULL) ; GO
AçmaNO_BROWSETABLEseçenek.Bunu yapmak için aşağıdaki çalıştırınTransact-SQLsorgu penceresindeki ifadeleri:
SET NO_BROWSETABLE ON ; GO
Tleft tablo ve tright tablo verileri bir dış birleştirmek deyim SELECT sorguyu kullanarak erişebilirsiniz.Emin tleft tablo iç dış birleştirmek bildirimi tarafında olur.Bunu yapmak için aşağıdaki çalıştırınTransact-SQLsorgu penceresindeki ifadeleri:
SELECT tleft.c1 FROM tleft RIGHT JOIN tright ON tleft.c1 = tright.c1 WHERE tright.c1 <> 2 ;
Sonuçlar bölmesinde aşağıdaki çıktıyı dikkat edin:
C1:
----
NULL
NULL
gözatma modu sonucu tablolara erimek için SELECT sorgusu çalıştırdıktan sonra küme sorgu seçme sağ dış birleştirmek ifadesinin tanımı için tleft tablosunda c1 sütun için iki null değer içeriyor.Bu nedenle, sonuç küme tablodan gelen null değerler arasında ayrım yapamaz ve, null değerleri sağ dış birleştirmek deyimi kullanılmaya başlandı.Sonuç null değerleri yok saymak gerekir, hatalı sonuçlar alabilirsiniz küme.
Not
Benzersiz dizin içinde bulunan sütunlar null değerleri kabul etmez, sonuçta tüm boş değerleri küme sağ dış birleştirmek deyim ile sunulan.
XML
Belirleyen sonuçlar bir sorgusu olan bir XML belgesi olarak döndürülecek.Aşağıdaki XML modlarından birini belirtilmelidir: RAW, AUTO, EXPLICIT. XML verileri hakkında daha fazla bilgi veSQL ServerBkz:FOR XML kullanan XML oluşturma.RAW ('ElementName')
Sorgu sonucu alır ve her satırın sonuç dönüştüren küme genel bir tanımlayıcıya sahip bir XML öğesi olarak<satır />öğe etiketi.İsteğe bağlı olarak, satır öğesi için bir ad belirtebilirsiniz.Oluşturulan XML çıktısı belirtilen kullanırElementName oluşturulan her satırda. satır öğesi olarakDaha fazla bilgi için bkz:RAW modunu kullanmaveRAW modunu kullanma.OTOMATİK
Basit, iç içe geçmiş XML ağacı sorgu sonuçlarında verir.Her tablonun en az bir sütun SELECT yan tümcesinde listelenen FROM yan tümce, bir XML öğesi olarak gösterilir.SELECT yan tümcesinde listelenen sütunlar, ilgili öğenin özniteliklerini eşleştirilir.Daha fazla bilgi için bkz:OTOMATIK mod kullanma.AÇIK
Oluşturulan XML ağacını şeklini açıkça tanımlanmış belirtir.Açıkça belirtilen istenen iç içe geçme hakkında ek bilgi için bu modu kullanarak, sorguları belirli bir şekilde yazılmalıdır.Daha fazla bilgi için bkz:AÇıK modunu kullanma.XMLDATA
Satır içi XDR şeması verir, ancak kök öğesi sonucu eklemez.XMLDATA belirtilirse, XDR Şeması belgeye eklenir.XMLSCHEMA ('TargetNameSpaceURI')
Satır içi XSD şema verir.Bu yönerge, şema içinde belirtilen ad alanını döndürür belirttiğinizde, isteğe bağlı olarak hedef ad alanı URI belirtebilirsiniz.Daha fazla bilgi için bkz:Satır içi XSD şeması oluşturma.ÖĞELERİ
Sütunları alt verdiğini belirtir.Aksi durumda, XML öznitelikleri eşleştirilir.Bu seçenek yalnızca RAW, AUTO ve yol modlarına desteklenir.Daha fazla bilgi için bkz:RAW modunu kullanma.XSINIL
Belirleyen bir öðeylexsi: nil özniteliği küme doğru null sütun değerlerinin. için oluşturulur Bu seçenek, yalnızca öğeleri yönergesi ile belirlenebilir.Daha fazla bilgi için bkz:Öğeler için NULL değerleri XSINIL parametre kullanarak oluşturma.YOK
null sütun değerleri için ilgili XML öğeleri XML sonucu eklenmez olduğunu gösterir.Bu seçenek yalnızca ÖĞELERLE belirtin.yol ('ElementName')
Oluşturduğu bir<satır>öğe sarıcı her satır sonuç kümesi.İçin bir öğe adı isteğe bağlı olarak belirtebileceğiniz<satır>kapsayıcı öğe.Boş bir dize, FOR XML yol gibi sağlanır, ( '' )), bir kapsayıcı öğe değil oluşturulur. yol kullanarak açık yönergesi kullanılarak yazılmış bir sorgu için daha kolay bir alternatif sağlar.Daha fazla bilgi için bkz:yol modunu kullanma.İKİLİ BASE64
Sorgu base64 ile kodlanmış ikili biçimde İkili veri döndüren belirtir.RAW ve açık modu ikili veri aldığınızda, bu seçeneğin belirtilmesi gerekir.AUTO modunda varsayılan değer budur.TYPE :
Sorgunun döndürdüğü sonuçlar olarak belirtirXML type.Daha fazla bilgi için bkz:TYPE yönergesini FOR XML sorgulardaki.ROOT ('RootName')
Tek bir üst düzey öğe için oluşturulan XML ekleneceğini belirtir.Kök öğe adı oluşturmak için isteğe bağlı olarak belirtebilirsiniz.İsteğe bağlı kök adı belirtilmezse, varsayılan<kök>öğesi eklenir.
Örnekler
Aşağıdaki örnek belirtirFOR XML AUTOileTYPEveXMLSCHEMAseçenekleri.NedeniyleTYPEseçeneği, döndürülen sonuç kümesinden gibi istemcinin birXML type.The XMLSCHEMA option specifies that the inline XSD schema is included in the XML data returned, and the ELEMENTS option specifies that the XML result is element-centric.