Aracılığıyla paylaş


XQuery Dil Başvurusu (SQL Server)

Şunlar için geçerlidir: SQL Server

Transact-SQL , xml veri türünü sorgulamak için kullanılan XQuery dilinin bir alt kümesini destekler. Bu XQuery uygulaması, XQuery'nin Temmuz 2004 Çalışma Taslağı ile hizalanır. Dil, tüm büyük veritabanı satıcılarının ve ayrıca Microsoft'un katılımıyla World Wide Web Consortium (W3C) tarafından geliştirilmektedir. W3C belirtimleri bir W3C önerisi olmadan önce gelecekteki düzeltmelerden geçebileceğinden, bu uygulama son öneriden farklı olabilir. Bu konuda, SQL Server'da desteklenen XQuery alt kümesinin semantiği ve söz dizimi özetlenmektedir.

Daha fazla bilgi için bkz. W3C XQuery 1.0 Dil Belirtimi.

XQuery, yapılandırılmış veya yarı yapılandırılmış XML verilerini sorgulayan bir dildir. Veritabanı Altyapısı'nda sağlanan xml veri türü desteğiyle, belgeler bir veritabanında depolanabilir ve ardından XQuery kullanılarak sorgulanabilir.

XQuery mevcut XPath sorgu dilini temel alır ve daha iyi yineleme, daha iyi sıralama sonuçları ve gerekli XML'yi oluşturma olanağı için destek eklendi. XQuery, XQuery Veri Modeli üzerinde çalışır. Bu, XML belgelerinin ve yazılabilir veya yazılamayan XQuery sonuçlarının soyutlamasıdır. Tür bilgileri, W3C XML Şema dili tarafından sağlanan türleri temel alır. Kullanılabilir yazma bilgisi yoksa, XQuery verileri yazılmamış olarak işler. Bu, XPath sürüm 1.0'ın XML'yi işleme biçimine benzer.

Xml türündeki bir değişkende veya sütunda depolanan bir XML örneğini sorgulamak için xml Veri Türü Yöntemlerini kullanırsınız. Örneğin, xml türünde bir değişken bildirebilir ve xml veri türünün query() yöntemini kullanarak bunu sorgulayabilirsiniz.

DECLARE @x xml  
SET @x = '<ROOT><a>111</a></ROOT>'  
SELECT @x.query('/ROOT/a')  

Aşağıdaki örnekte sorgu, AdventureWorks veritabanındaki ProductModel tablosundaki Xml türündeki Instructions sütununda belirtilmiştir.

SELECT Instructions.query('declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";           
    /AWMI:root/AWMI:Location[@LocationID=10]  
') as Result   
FROM  Production.ProductModel  
WHERE ProductModelID=7  

XQuery ad alanı bildirimini declare namespace``AWMI=..., ve sorgu ifadesini /AWMI:root/AWMI:Location[@LocationID=10]içerir.

XQuery'nin xml türündeki Yönergeler sütununda belirtildiğini unutmayın. Xml veri türünün query() yöntemi , XQuery'yi belirtmek için kullanılır.

Aşağıdaki tabloda, Veritabanı Altyapısı'nda XQuery uygulamasının anlaşılmasına yardımcı olabilecek ilgili konular listelenir.

Konu Açıklama
XML Verileri (SQL Server) Veritabanı Altyapısı'ndaki xml veri türü desteğini ve bu veri türüne göre kullanabileceğiniz yöntemleri açıklar. Xml veri türü, XQuery ifadelerinin yürütüldiği giriş XQuery veri modelini oluşturur.
XML Şema Koleksiyonları (SQL Server) Bir veritabanında depolanan XML örneklerinin nasıl yazıldığını açıklar. Bu, xml şema koleksiyonunu xml türü sütunuyla ilişkilendirebileceğiniz anlamına gelir. Sütunda depolanan tüm örnekler, koleksiyondaki şemaya göre doğrulanır ve yazılır ve XQuery için tür bilgilerini sağlar.

Uyarı

Bu bölümün organizasyonu World Wide Web Consortium (W3C) XQuery çalışma taslak belirtimini temel alır. Bu bölümde sağlanan diyagramlardan bazıları bu belirtimden alınmıştır. Bu bölümde, Microsoft XQuery uygulaması W3C belirtimi ile karşılaştırılır, Microsoft XQuery'nin W3C'den nasıl farklı olduğu açıklanır ve hangi W3C özelliklerinin desteklenmediğini gösterir. W3C belirtimini adresinde http://www.w3.org/TR/2004/WD-xquery-20040723bulabilirsiniz.

Bu Kısımda

Konu Açıklama
XQuery Temel Bilgileri XQuery kavramlarına ve ifade değerlendirmesine (statik ve dinamik bağlam), atomizasyona, etkili Boole değerine, XQuery türü sistemine, dizi türü eşleştirmesine ve hata işlemeye yönelik temel bir genel bakış sağlar.
XQuery İfadeleri XQuery birincil ifadelerini, yol ifadelerini, sıra ifadelerini, aritmetik karşılaştırmayı ve mantıksal ifadeleri, XQuery derlemesini, FLWOR ifadesini, koşullu ve nicelenmiş ifadeleri ve dizi türlerindeki çeşitli ifadeleri açıklar.
Modüller ve Prologlar (XQuery) XQuery prolog'larını açıklar.
Xml Veri Türüne Karşı XQuery İşlevleri Desteklenen XQuery işlevlerinin listesini açıklar.
Xml Veri Türüne Karşı XQuery İşleçleri Desteklenen XQuery işleçlerini açıklar.
Xml Veri Türüne Karşı Ek Örnek XQueries Ek XQuery örnekleri sağlar.

Ayrıca Bkz.

XML Verileri (SQL Server)
XML Şema Koleksiyonları (SQL Server)
XML Belgelerinin Toplu İçeri ve Dışarı Aktarılması örnekleri (SQL Server)