Instead of, bir tabloda işlem gerçekleşmeden önce devreye giren tetikleyicilerdir. Yapılmak istenen değişiklik tabloya yansıtılmaz. Sadece bizim bir değişiklik yapılmak istendiği zaman belirttiğimiz sql kodlarının çalışmasını sağlar.
1 2 3 4 5 6 7 8 9 10 |
CREATE TRIGGER NOT_EKLE ON NOTLAR INSTEAD OF INSERT AS DECLARE @ogrenci_id INT DECLARE @ders_id INT SELECT @ogrenci_id=OGRENCI_ID, @ders_id=DERS_KODU FROM INSERTED PRINT 'Tablonuzda hiçbir değişiklik olmadı.' |
Yukarıda NOTLAR tablosunda INSTEAD OF INSERT yani insert işlemi gerçekleşmek istendiğinde tetiklenen trigger oluşturulmuştur. INSERTED tablosundan çekilen verileri gösterme amacım eklenmek istenilen verileri görebileceğimizi kanıtlamak içindir. Eklenmek istenen verileri başka bir tabloya ekleyebilir veya isteğimize göre farklı bir sql kodunda kullanabiliriz. PRINT ile ekrana herhangi bir değişiklik olmadığını yazıyoruz.
1 |
INSERT INTO NOTLAR VALUES(2,2,80,50) |
1 |
SELECT * FROM NOTLAR |