anatablo
ana_id //pk
izin_bilgi
izin_bilgi_id //pk
detay_izin_bilgi_id //fk
izin_toplami
izin_kalani
izin_talebi
izin_talebi_id --pk
detay_izin_talebi_id //fk
izin_turu -5 secenek
izin_talebleri
yukarıda belirttiğim şekilde 3 tablom var ve izin talebi tablosunda izin_turu
sadece SENELİK İZİN ise izin talebleri(x) gün kadar izin_bilgi tablosundaki izin_kalanı
alanından düşecek insert trigger'ini çalıştırmayı başardım. Ancak delete ve
update trigger'ini çalıştıramadım. delete ve update trigger'inde izin_turu SENELİK İZİN ise izin_bilgi tablosundan
(x) kadar izin_kalanı alanını arttıracak veya eksiltecek delete ve update trigger'ine
Yardımcı olabilirmisiniz?
vt firebird 1.5
Kod: Tümünü seç
CREATE TRIGGER TI_IZIN_GIRIS FOR IZIN_TALEBI
ACTIVE AFTER INSERT POSITION 0
AS
DECLARE VARIABLE NUMROWS INTEGER;
begin
select count(*)
from IZIN_TALEBI
where NEW.IZIN_TALEBI_ID=IZIN_TALEBI.IZIN_TALEBI_ID and IZIN_TURU='SENELİK İZİN'
into NUMROWS;
if (NUMROWS>0) then
begin
update IZIN_BILGI
set IZIN_KALANI = IZIN_KALANI-IZIN_TALEBI.IZIN_TALEBLERI
where IZIN_BILGI.DETAY_IZIN_BILGI_ID=IZIN_TALEBI.DETAY_IZIN_TALEBI_ID;
end
end