veritabanında bir tabloya veri girişi/değişikliği/silinmesinden önce veya sonra veritabanının yapmasını istediğiniz işlem bütününün adıdır.
oracle için yazılmış trigger örneği;
CREATE OR REPLACE TRIGGER TRg_KIMLIKLOG -- Triggerimizin Adı
AFTER DELETE OR UPDATE
ON DBUSER.KIMLIK // hangi tabloya işlem yapıldığında tetikleyecek
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
IF UPDATING THEN // eğer kimlik tablosunda kayıt değiştiriliyorsa kimlik_log tablosuna değişmeden önceki verileri yaz.
INSERT INTO DBUSER.KIMLIK_LOG
(
ADI,
SOYADI,
ADRESI,
NOTU,
ISLEM,
ISLEMYAPANKULLANICI,
ISLEMTARIHI
)
VALUES
(
:OLD.ADI,
:OLD.SOYADI,
:OLD.ADRESI,
:OLD.NOTU,
'Degistirildi',
USER,
SYSDATE
);
ELSIF DELETING THEN // eğer kimlik tablosunda kayıt siliniyorsa kimlik_log tablosuna değişmeden önceki verileri yaz.
INSERT INTO DBUSER.KIMLIK_LOG
(
ADI,
SOYADI,
ADRESI,
NOTU,
ISLEMYAPANKULLANICI,
ISLEMTARIHI
)
VALUES
(
:OLD.ADI,
:OLD.SOYADI,
:OLD.ADRESI,
:OLD.NOTU,
'Silindi',
USER,
SYSDATE
);
END IF;
END;