pythontr.com
Merhabalar Arkadaşlar, (Not:Lütfen öneri ve sorularınızı yorum olarak atınız. Teşekkürler şimdiden)
Bu makalemde oracle veritabanı insert yada update yapılırken aynı tabloda select işlemi yapılan bir örneği paylaşacağım.
CREATE OR REPLACE TRIGGER TRG_ADI BEFORE INSERT OR UPDATE ON TABLO_ADI REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE pragma autonomous_transaction; /* Bu aynı tabloya select yapmak için eklenmiştir. */ CarhesKod VARCHAR(100); BEGIN if :OLD.DEGER = :NEW.DEGER then RETURN; /* Burası istediğimiz değer işlemden önce/sonra aynı ise trigger'ı çalıştırmamak için konulmuştur. */ end if; CarhesKod:=''; BEGIN SELECT ALAN1 into CarhesKod FROM TABLO_ADI WHERE TABLO_ADI.ALAN1 = :NEW.DEGER AND TABLO_ADI.DEGER_DLT<>1; EXCEPTION WHEN NO_DATA_FOUND THEN CarhesKod := ''; END; if length(CarhesKod) >0 then :NEW.DEGER := 1; end if; commit; /* Aynı tabloya işlem yaptığımız için transaction işlemi havada kalmaması için commit edilmiştir. */ END TRG_CARHES; /
Yorumlar