Bir tabloya kayıt eklendiğinde devreye giren tetikleyicilerdir. Eklenen kayıtlar INSERTED geçici tablosuna eklendiğinden bu tablo üzerinden işlemler gerçekleştirilir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
CREATE TRIGGER NOT_GETIR ON NOTLAR AFTER INSERT AS DECLARE @vize INT DECLARE @final INT DECLARE @ortalama FLOAT SELECT @vize=VIZE, @final=FINAL FROM INSERTED SET @ortalama=@vize*0.3 + @final*0.7 if(@ortalama>=85) PRINT 'HARF NOTUNUZ AA' else if(@ortalama<41) BEGIN PRINT 'Öğrenciyi derste bırakmayınız. İşleminiz geri alınıyor.' ROLLBACK END else PRINT 'Bu notla idare etmelisin.' |
Yukarıda ki INSERT tetikleyicisinde NOTLAR tablosunda kayıt eklenme işlemi kontrol edilir. Kayıt eklendiğinde bu kayıtlar INSERTED tablosundan çekilerek @vize ve @final değişkenlerine atanır. @vize ve @final ortalamaları @ortalama değişkenine atandıktan sonra bu ortalama if ile kontrol edilir. 85’den büyük olması durumunda AA 41’in altında olması durumunda ise kayıt ekleme işlemi geriye alınarak notları beğenmediğimize dair mesajı veiriyoruz. 🙂
1 |
INSERT INTO NOTLAR(OGRENCI_ID, DERS_KODU, VIZE, FINAL) VALUES(2,'1',90,10) |
Yukarı ki INSERT işleminden sonra ortalama 41’in altında kaldığı için aşağıda ki ekran çıktısını alıyoruz.