Bu makalede bir tabloda bulunan kayıtların başka bir tabloya tek bir stored procedure yazarak eklenmesi anlatılmaktadır. Ancak buradaki asıl amaç kaynak tabloda bulunup, hedef tabloda olmayan kayıtları kaydetmektir. Bunu da Where kıstasına yazdığımız yerde belirtiyoruz. Sorguyu incelediğiniz zaman nasıl çalıştığını anlayabilirsiniz.
Kodun işlevi ise şöyle. Önce "Where" satırında, kayıt ekleyeceğimiz tablodaki verileri getiriyoruz. Daha sonra asıl kayıtları çekeceğimiz tablodan verileri çağırıyoruz. En alt satırda "not StokId in" bölümünde ise insert işlemi yaparken hedef tabloda bulunmayan kayıtların kaydedilmesini sağlıyoruz.
Create Procedure TablolariSenkronizeEt
As
Begin
Insert into tblUrunN
(
fldnStokId,
fldDurum
)
Select nStokID, 1
From tblMuhasebeUrunler.dbo.tbStok MU
Where not nStokID in (Select UU.fldnStokId From tblUygulamaUrun UU)
End