Tetikleyicim ile ilgili bir sorunum var (oracle ile yeniim) Bu tetikleyici ile yeni bir sözleşme eklerken istiyorum ve bu sözleşmelerin, bu kullanıcının diğer sözleşmesinin söz konusu bitiş_tarihi olan bir başlangıç_tarihi var Tetikleyici eski bitiş_tarihi yeni sözleşmenin başlangıç_tarihi olarak değiştirmelidir.Bu kolay tetikleyicinin çözümü
CREATE OR REPLACE TRIGGER Date_contracts
BEFORE INSERT OR UPDATE OF START_DATE ON CONTRACTS
FOR EACH ROW
BEGIN
IF :NEW.START_DATE < (SELECT DISTINCT END_DATE FROM CONTRACTS WHERE SSN = NEW.SSN)
THEN OLD.END_DATE := NEW.START_DATE;
END IF;
END;
/
Ve sql developres alt sorgu bu bağlamda izin verilmez diyor:
İşte benim kodudur. Eminim ki tamir etmek ama bunu çözemiyorum çünkü seviyesi çok düşük. Sana
O ** En fazla 1 kaydını döndürebilir gösteren bir uyarıdır * * –
Eski başlangıç tarihini değiştirebileceğinizi düşünüyorsanız, temel tetikleme tetikleyicileriniz vardır. –