Xml verisi içerisine yeni node alanı eklemek için sql tarafında yapılacak güncelleme işlemi çalışmaları anlatılacaktır. 

Tek bir xml içerisinde manuel ekleme işlemi sorun yaratmayacaktır ancak çoklu olarak veri tabanı üzerinden xml set lerinde güncelleme yapmak için bu sorguya ihtiyaç duyabilirsiniz. 

 

SistemDataTipi
Idtekil key
DataXml verisinin tutulduğu alan
WorkItemsTipi 
Idtekil key
DataSistemData.Id ile bağlandığı key
ProcessNameİlgili süreç ismi
StateSürecin durumu(0:açık işler)

 

Aşağıdaki güncelleme işleminde "<EgitimParaBirimi display="Türk Lirası">TRY</EgitimParaBirimi>" değerini "(/formData/EgitimTalep/EgitimParaBirimi)[1]" dizininin altına ekler. 

SQL - Güncelleme İşlemi
UPDATE SistemData
SET Data.modify('insert <EgitimParaBirimi display="Türk
Lirası">TRY</EgitimParaBirimi> as first into
(/formData/EgitimTalep)[1]')
FROM  SistemData f inner join 
	  WorkItems wi on f.Id=wi.Data
where wi.ProcessName = 'Eğitim Talep' and wi.State=0 
and f.Data.value('(/formData/EgitimTalep/EgitimParaBirimi)[1]','nvarchar(50)') is null
SQL de XML verisi güncelleme
SET Data.modify('delete (/formData/MasrafListesi/Data/Template/ProjeGiderYeri/text())')
Replace
SET Data.modify('replace value of  (/formData/SAP/Masraf/BELDET/Data/Template/BELTP/text())[17] with ("DV")')

 

Ayrıca Bakınız

SQL Linked Servers nasıl kullanılır?

 

  • No labels