Ana içeriğe atla

Sql den xml e veri aktarımı(Sql For XML)

Sql de bazen tablo verilerimizi xml e dönüştürmek isteyebiliriz.Bunun için sql deki for xml syntax ını kullanabiliriz. Örnek olarak ürün tablomuz olsun ve içerisindeki kod ve isim alanlarını bir xml e aktarmak isteyelim.

 Sorgu : SELECT UrunKodu,UrunAdi FROM Urunler FOR XML AUTO,Elements


 Bize dönecek sonuç aşağıdaki gibi olacaktır :

 <urunler><urunkodu>CS4390</urunkodu>
  <urunadi>CS4390 Thermal Battaniye</urunadi>
</urunler>
<urunler>
  <urunkodu>85563000</urunkodu>
  <urunadi>Cinquantaquattro Lıght Canvas (Ayakkabı)</urunadi>
</urunler>
<urunler>
  <urunkodu>RMJ003</urunkodu>
  <urunadi>Barlow Short (Şort)</urunadi>
</urunler>
<urunler>
  <urunkodu>CADIR-COLEMAN</urunkodu>
  <urunadi>Coleman Sundome 3 Kişilik Çadır</urunadi>
</urunler>
<urunler>
  <urunkodu>AF1017092300</urunkodu>
  <urunadi>Camper 17-15 Fonksiyon 85 mm Kırmızı</urunadi>
</urunler>


İşte bu komut ile kolayca verilerimizi xml e dönüştürebiliyoruz.Birde bu xml e root element ekler isek cillop gibi bir xml i elde etmiş oluruz :)

Umarım faydalı olmuştur.

Bu blogdaki popüler yayınlar

SQL DATEADD() Fonksiyonu(Sql de tarihe ay,gün,yıl ekleme)

Kullanım Kalıbı : DATEADD (datepart , number , date ) . datepart ksımına month,year,day vs artırmak istediğimiz tarih birimini yazıyoruz. . number ksımına arttırmak istediğimiz miktarı yazıyoruz. . date kısmına da hangi tarih e ekleneceğini belirtiyoruz. Örnek olarak şu an ki tarihten 1 ay sonrasını görmek için : Şu anki tarih '10-1-2011' olsun(gün,ay,yıl) Sorgu : SELECT DATEADD(MONTH,+1,GETDATE()) Çıktı alacağımız tarih : '10-2-2011' şekinde olacaktır.

Cannot resolve the collation conflict between "Turkish_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.

iki ayrı veri tabanı içindeki tablolar ile işlem yapılmak istendiğinde eğer dil sorunu çıkıyor ise sorgumuzun sonuna 'COLLATE TURKISH_CI_AS' sözcüğünü ekleyerek sorunu çözebiliriz.Örnek : SELECT * FROM veritabani1.dbo.URUN u1 INNER JOIN veritabani2.dbo.URUNLER u2 ON u1.kod = u2.kod COLLATE TURKISH_CI_AS umarım faydalı olmuştur.

Logo (LOJECTS.exe ve LOBJECTS.dll) Register İşlemleri

LOBJECTS.dll register işlemi : başlat-> çalıştır -> cmd yazıp konsole ekranına geçiyoruz REGİSTER İÇİN : regsvr32 logoDosyaYolu\LOBJECTS.dll yazıyoruz ve dll imizi register ediyoruz UNREGISTER İÇİN : regsvr32 -u logoDosyaYolu\LOBJECTS.dll ile de unregister edebiliriz. LOBJECTS.exe register işlemi : başlat-> çalıştır -> cmd yazıp konsole ekranına geçiyoruz REGİSTER İÇİN : logoDosyaYolu\LOBJECTS.exe -REGSERVER yazıyoruz ve LOBJECTS.exe mizi register ediyoruz. UNREGISTER İÇİN : logoDosyaYolu\LOBJECTS.exe -UNREGSERVER yazıyoruz ve LOBJECTS.exe mizi unregister ediyoruz. Umarım yararlı olmuştur.