Referensi Bahasa XQuery (SQL Server)

Berlaku untuk:SQL Server

Transact-SQL mendukung subset bahasa XQuery yang digunakan untuk mengkueri jenis data xml . Implementasi XQuery ini selaras dengan Draf Kerja XQuery Juli 2004. Bahasa ini sedang dikembangkan oleh World Wide Web Consortium (W3C), dengan partisipasi semua vendor database utama dan juga Microsoft. Karena spesifikasi W3C dapat mengalami revisi di masa mendatang sebelum menjadi rekomendasi W3C, implementasi ini mungkin berbeda dari rekomendasi akhir. Topik ini menguraikan semantik dan sintaks subset XQuery yang didukung di SQL Server.

Untuk informasi selengkapnya, lihat Spesifikasi Bahasa W3C XQuery 1.0.

XQuery adalah bahasa yang dapat mengkueri data XML terstruktur atau semi terstruktur. Dengan dukungan jenis data xml yang disediakan di Mesin Database, dokumen dapat disimpan dalam database lalu dikueri dengan menggunakan XQuery.

XQuery didasarkan pada bahasa kueri XPath yang ada, dengan dukungan ditambahkan untuk iterasi yang lebih baik, hasil pengurutan yang lebih baik, dan kemampuan untuk membangun XML yang diperlukan. XQuery beroperasi pada Model Data XQuery. Ini adalah abstraksi dokumen XML, dan hasil XQuery yang dapat diketik atau tidak diketik. Informasi jenis didasarkan pada jenis yang disediakan oleh bahasa Skema XML W3C. Jika tidak ada informasi pengetikan yang tersedia, XQuery menangani data sebagai tidak dititik. Ini mirip dengan cara XPath versi 1.0 menangani XML.

Untuk mengkueri instans XML yang disimpan dalam variabel atau kolom jenis xml , Anda menggunakan Metode Tipe Data xml. Misalnya, Anda dapat mendeklarasikan variabel jenis xml dan mengkuerinya dengan menggunakan metode query() dari jenis data xml.

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

Dalam contoh berikut, kueri ditentukan terhadap kolom Instruksi jenis xml dalam tabel ProductModel di database AdventureWorks.

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 menyertakan deklarasi namespace, declare namespace``AWMI=..., dan ekspresi kueri, /AWMI:root/AWMI:Location[@LocationID=10].

Perhatikan bahwa XQuery ditentukan terhadap kolom Instruksi jenis xml . Metode query() dari tipe data xml digunakan untuk menentukan XQuery.

Tabel berikut mencantumkan topik terkait yang dapat membantu memahami implementasi XQuery di Mesin Database.

Topik Deskripsi
XML Data (SQL Server) Menjelaskan dukungan untuk jenis data xmldi Mesin Database dan metode yang bisa Anda gunakan terhadap jenis data ini. Jenis data xml membentuk model data XQuery input tempat ekspresi XQuery dijalankan.
Koleksi Skema XML (SQL Server) Menjelaskan bagaimana instans XML yang disimpan dalam database dapat ditik. Ini berarti Anda dapat mengaitkan koleksi skema XML dengan kolom jenis xml . Semua instans yang disimpan dalam kolom divalidasi dan diketik terhadap skema dalam koleksi dan memberikan informasi jenis untuk XQuery.

Catatan

Organisasi bagian ini didasarkan pada spesifikasi draf kerja World Wide Web Consortium (W3C) XQuery. Beberapa diagram yang disediakan di bagian ini diambil dari spesifikasi tersebut. Bagian ini membandingkan implementasi Microsoft XQuery dengan spesifikasi W3C, menjelaskan bagaimana Microsoft XQuery berbeda dari W3C dan menunjukkan fitur W3C apa yang tidak didukung. Spesifikasi W3C tersedia di http://www.w3.org/TR/2004/WD-xquery-20040723.

Di Bagian Ini

Topik Deskripsi
Dasar-Dasar XQuery Menyediakan gambaran umum dasar konsep XQuery, dan juga evaluasi ekspresi (konteks statis dan dinamis), atomisasi, nilai Boolean yang efektif, sistem jenis XQuery, pencocokan jenis urutan, dan penanganan kesalahan.
Ekspresi XQuery Menjelaskan ekspresi utama XQuery, ekspresi jalur, ekspresi urutan, perbandingan aritmatika dan ekspresi logis, konstruksi XQuery, ekspresi FLWOR, ekspresi kondisional dan terukur, dan berbagai ekspresi pada jenis urutan.
Modul dan Prolog (XQuery) Menjelaskan prolog XQuery.
Fungsi XQuery terhadap Tipe Data xml Menjelaskan daftar fungsi XQuery yang didukung.
Operator XQuery Terhadap Tipe Data xml Menjelaskan operator XQuery yang didukung.
Sampel Kueri Tambahan Terhadap Tipe Data xml Menyediakan sampel XQuery tambahan.

Lihat Juga

XML Data (SQL Server)
Koleksi Skema XML (SQL Server)
Contoh Impor dan Ekspor Massal Dokumen XML (SQL Server)