Sql serverımız da yeni bir veritabanı oluşturup ve veritabanının içine 2 tane tablo yerleştirdik. Bu iki tablo arasında insert ve delete komutlarını içeren triggerlar yazacağız.. Personel ve Personel2 adında iki tablomuz mevcuttur ve ilk halleri aşağıdaki gibidir.
Personel tablosuna insert yapıldığında personel2 tablosuna da insert yapan trigger:
create trigger denemetrigger on [personel] for insert as begin declare @ad nvarchar(10), @soyad nvarchar(10) select @ad=adı , @soyad=soyadı from inserted insert Personel2 (adı,soyadı) values (@ad,@soyad) end --personel tablosuna insert yapıldığında aynı işlemi personel2 tablosunda da yapan --triggerı yazdık. Triggerımızda sonradan bir değişiklik yapmak istediğimizde yada --yanlış yazılan bir yeri düzeltmek istediğimizde 'create' komutu yerine 'alter' komutunu --yazarak istedğimiz değişiklikleri yapabiliriz. insert personel (adı,soyadı) values ('murat','Aydın') --Murat Aydın isimli personeli personel tablosuna eklediğimizde trigger tetiklenip --aynı veriyi personel2 tablosuna ekledi.
İnsert işleminden sonra tablolarımızın son hali:
Personel2 tablosunda delete işlemi yapıldığında personel tablosunda da delete işlemi yapan trigger:
create trigger denemetriggerdelete on [Personel2] for delete as begin declare @ad nvarchar (10) select @ad=adı from deleted --'murat' stringini değişkene tanımladık. delete [personel] where adı=@ad end delete from [Personel2] where adı='Murat' --İlk önce değişiklik yapmak istediğimiz tabloyu delete işleminde belirtiyoruz. --O tabloda herhangi bir delete işlemi olunca trigger tetiklenip, kendi içindeki --işlemleri yapmaya başlıyor.
İyi çalışmalar…