PL/SQL Ders16 - Trigger
Trigger aha önce belirtilmiş bir olay meydana geldiğinde tetiklenen birimdir. Trigger veritabanında saklanır ve belirtilmiş bir koşul meydana geldiğinde tetiklenir.
Trigger aşağıdaki olaylar meydana geldiğinde tetiklenebilir.
- Veritabanı manipulation (DML) : DELETE, INSERT, UPDATE.
- Veritabanı definiyion (DDL) : CREATE, ALTER, DROP.
- Veritabanı operation : SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN.
CREATE OR REPLACE TRIGGER triggerIsmi; BEFORE, AFTER veya INSTEAD OF INSERT, UPDATE veya DELETE OF kolonIsmi ON tabloIsmi FOR EACH ROW WHEN kosul DECLARE .. BEGIN .. END;
CREATE OR RAPLACE : trigger tanımlamayı veya varolan bir triggerı güncellemeyi sağlar.
INSERT, UPDATE veya DELETE : DML operasyonları
OF : Güncellenecek kolon ismini belirtir.
ON : Güncellenecek tabloyu belirtir.
OLD AS, NEW AS : Çeşitli DML ifadeleri için yeni ve eski değerleri atamanızı sağlar.
FOR EACH ROW : Her satır için etkili olacağını belirtir.
WHEN : koşulu belirtir.
CREATE TRIGGER trig AFTER DELETE OR INSERT OR UPDATE ON TEST_PERSONEL FOR EACH ROW DECLARE degisimId INT; BEGIN degisimId := :NEW.id - :OLD.id; DBMS_OUTPUT.put_line ('eski id : ' || :OLD.id); DBMS_OUTPUT.put_line ('yeni id : ' || :NEW.id); DBMS_OUTPUT.put_line ('id degisim miktari :' || degisimId); END;
Worksheet16.sql
DECLARE BEGIN UPDATE TEST_PERSONEL SET id=id+5 WHERE id>10; END;
Yorumlar
Yorum Gönder