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.
BEFORE, AFTER veya INSTEAD OF : Trigggerın ne zaman çalıştırılacağını belirtir.
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.

TRIGGER16.sql
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;

PL/SQL Trigger


PL/SQL Trigger
PL/SQL Trigger

Yorumlar

Bu blogdaki popüler yayınlar

Java SE Ders24 - Composition (Kompozisyon)

Spring Ders20 - Aspect Oriented Programming - AspectJ Annotation Style

JSF Ders30 - Page Template (Sayfa Şablonu)