Triger aşağıdaki gibi, sorunum şu, tarih2 alanı update yapıldığında yeni tarihin 20 dakika gerisini, tarih3 alanına atmak istiyorum. Fakat anladığım kadarıyla tarih2 alanı commit olamadığı için, triger çalışamıyo, ama yeni bir kayıtta denediğimde, bir önceki kayıtda gidip unu düzgünce update yapıyo. Sıkıntımı umarım anlatabilmişimdir. VT: oracle
not: pragma olmadan aynı tablodaki bir alandan başka bir alanı update edemiyordum, onun için ekledim..
Kod: Tümünü seç
CREATE OR REPLACE TRIGGER Istek_Main AFTER UPDATE OF TARIH2
ON ISTEKMAIN FOR EACH ROW
declare
pragma autonomous_transaction;
--TARIH2 date;
BEGIN
IF :NEW.TARIH2 <>'' THEN
UPDATE ISTEKMAIN LB SET LB.tarih3 = :NEW.TARIH2 - ((select dbms_random.value(20,20) from dual)*1/1440)
WHERE LB.LAB=1 AND LB.ID>0 and :new.ISTEK_NO = :old.ISTEK_NO;
COMMIT;
END IF;
END;