Makale Özeti

SQL Server xml veri tipindeki değerlerin sorgulanabilmesi için XQuery yapısının bir alt kümesine destek vermektedir.

Makale

SQL Server xml veri tipindeki değerlerin sorgulanabilmesi için XQuery yapısının bir alt kümesine destek vermektedir.

XQuery yapılandırılmış(structured) xml verisinin sorgulanması için oluşturulmuş ve standartlaştırılmış bir dildir. SQL Server da bulunan xml veri tipi ve XQuery desteği sayesinde veriler xml formatında saklanabilmekte vede sorgulanabilmektedir. Bu işlemler için xml veri tipine ait olan özel fonksiyonlar kullanılmaktadır.

Description: Xquery1

query() : xml dokümanı içerisindeki hierarşik yapıyı sorgular vede sonuç olarak başka bir xml dokümanı üretir.

Description: Xquery2

value() : iki parametre kabul eden bir fonksiyondur. Birinci parametre bir XQuery ifadesi olmalıdır, ancak değeri alabilmemiz için sadece bir değer üreten bir XQuery ifadesi burada kabul edilir. [1] ve [2] sırası ile birinci ve ikinci eleman anlamına gelmektedir. Fonksiyonda kullanılan ikinci parametre ise gelen değerin hangi veri tipine çevrileceğini belirler.

Basitçe özetlemek için bir örnek yapacak olursak .

CREATE TABLE XMLOrnek(
        Ogrenci xml
)

INSERT INTO XMLOrnek VALUES('<OGRENCI><ISIM>Ahmet</ISIM><SOYISIM>AhmetS</SOYISIM></OGRENCI>')

INSERT INTO XMLOrnek VALUES('<OGRENCI><ISIM>Mehmet</ISIM><SOYISIM>MehmetS</SOYISIM></OGRENCI>')

 

Yukarıdaki tablodan üzerinde soyadı S harfi ile bitenlerin ismini almak istersek eğer; aşağıdaki gibi bir sorgu çalıştırmak durumunda kalırız.

SELECT [Ogrenci].VALUE('(/OGRENCI/ISIM)[1]','nvarchar(50)') AS 'Ögrenci İsim'
FROM XMLOrnek WHERE [Ogrenci].VALUE('(/OGRENCI/SOYISIM)[1]','nvarchar(50)') like '%S'

 

Description: Xquery3

sdtslmn