Forum
Merhaba,
elimde 2 tablo var ve bunların birbirini etkilemesi için trigger kullanmam gerekiyor.
Ne istediğimi örnekle açıklayayım;
1.tabloda şu veriler yer alıyor:
ahmet 125
ahmet 250
mustafa 70
mehmet 12
ahmet 60
mehmet 20
istediğim 2.tabloda kendiliğinden "ahmet" değerini atıp karşısına ilk tablodaki "ahmet"lerin karşısındaki değerin toplamını yazması.
(Aynı şekilde diğer isimlerin de)
yani:
ahmet 435
mustafa 70
mehmet 32 .... gibi
Mrb
Oluşturduğum bi trigger çalışma garanti comment lerde ekledim kendine göre düzenle.
create trigger stok_guncelle
-- hangi tabloyu dinleyeceğini belirle
On tablo1
-- insert isşeminden sonra olacağını belirle
For insert as
begin
-- degiskenleri tanımla
declare @sayi int
declare @isim nvarchar(50)
declare @maxID int
-- insert den sonra en son girilen id için max fonk ile al ve maxid
değişkenine ata
set @maxID= (select max(id) from tablo1)
-- alınan son id ile girine tabloda arama yap ve isim sayı bilgisini
tanımlanan değişkenlere ata
select @sayi=sayi, @isim=isim from tablo1 where id= @maxID
-- alınan sonuçları tablo2 de uptade et eski var olan sonuçla yeni
girilen sonucu toplayıp
-- yeni totali tablo2 ye insertle
Update tablo2 set toplam= toplam+@sayi from tablo2 where adim=@isim
end
-- bu kadar 🙂