Bir tabloya kayıt eklendiğinde güncellendiğinde veya silindiğinde başka tabloda da aynı işlemleri yaptırmak.
Bu işlemi kullanılan tablonuza bir trigger ekleyerek kolaylıkla kontrol edebilirsiniz.
İki tablodaki veriler birebir tutmuyorsa sadece temel alanları ekleyebilirsiniz.
Örnek triggerlar;
Delete için: TABLE_A Işlem yapılan tablo, TABLE_B değişiklik yaptırmak istediğimiz tablo;
CREATE OR REPLACE TRIGGER "TRI_TABLE_B_DEL"
AFTER DELETE
ON TABLE_A
FOR EACH ROW
BEGIN
DELETE FROM TABLE_B@DB where T_NO = :old.T_OKULNO;
END TRI_TABLE_B_DEL;
Insert için;
CREATE OR REPLACE TRIGGER "TRI_TABLE_B_INS"
AFTER
INSERT ON TABLE_A FOR EACH ROW
BEGIN
INSERT INTO TABLE_B@DB
(T_NO,
T_ADI,
T_CINSIYET
)
VALUES
(:NEW.T_OKULNO,
:NEW.T_ADI,
case when(:NEW.T_CINSIYET = 'B') then 'Belirsiz' else case
when(:NEW.T_CINSIYET= 'E') then 'Erkek' else case
when(:NEW.T_CINSIYET= 'K') then 'Kadın' else null end end end,
)
END TRI_TABLE_B_INS;
Update İçin;
CREATE OR REPLACE TRIGGER "TRI_TABLE_B_UPD"
AFTER UPDATE
ON TABLE_A
FOR EACH ROW
BEGIN
UPDATE ENLIL.TABLE_B@EJDENLIL
SET T_NO = :NEW.T_OKULNO,
T_ADI = :NEW.T_ADI
WHERE T_NO = :old.T_OKUL;
Hiç yorum yok:
Yorum Gönder