13 Mayıs 2012 Pazar

Sql çoklu güncelleme -Sql multiple updates

Merhaba arkadaşlar.Sql çoklu güncelleme nasıl yapılır adım adım gerçekleştirelim.

Tablo_1 -----------------
kolon1kolon2kolon3
test11xxxx
test22yyyy
test33zzzz

Tablo_2 -----------------
kolon1kolon2
2null
3null



Tablo_1'de kolon2 ile Tablo_2'de kolon1 in eşleştiğini varsayalım.Benzer şekilde Tablo_1 de kolon3'ün Tablo_2'de kolon2 ile eşleştiğini varsayıyoruz. Bu durumda yapacağımız ilk şey güncellenecek kolon ile güncelleyecek olan kolonu select sql ile yanyana getirmek. Yani Tablo_1 den kolon3'u Tablo_2 den kolon2'yi yanyana getirelim. Ve aşağıdaki gibi sql yazalım.

"Select Tablo_1.kolon3,Tablo_2.kolon2 from Tablo_2,Tablo_1 where Tablo_2.kolon1=Tablo_1.kolon2"

Şimdi yukarıdaki sql sorgusunu update sql için iç sql yapacağız ve güncellemeyi gerçekleştireceğiz.

update
(
  Select Tablo_1.kolon3,Tablo_2.kolon2 from Tablo_2,Tablo_1   where Tablo_2.kolon1=Tablo_1.kolon2
)  tab set tab.kolon2=tab.kolon3

Sonuçta çoklu güncellemeyi birden fazla tablo kullanarak gerçekleştirmiş olduk.


2.yol
-------------------------------------
update Tablo_2 set Tablo_2.kolon2=(Select distinct Tablo_1.kolon3 from Tablo_1 where Tablo_1.kolon2=Tablo_2.kolon1) where Tablo_2.kolon1 in (Select Tablo_1.kolon2 from Tablo_1 where Tablo_1.kolon2=Tablo_2.kolon1)

1 yorum:

  1. Merhaba,

    select * from iletisim where TypeCode='18' and Code='51'

    select * from [dbo].firma where TypeCode='18' and Code='51'

    yukarıdaki iletişim ve firma tablolarında ki code 51 olanlarının cod alanını nasıl 100 ile update edebilirim.

    YanıtlaSil