Aşağıdaki gibi edit ederken insert ediyorum 2 adet tablom var satış faturası kesince (Stok Hareket Tablosu) bunu (Cari Hareket Tablosuna) Borc olarak kaydediyor buraya kadar herşey normal lakin Fatura üzerinde değişiklik veya silme işlemi yapınca bunu Cari Hareket Tablosuna uygulamıyor. (SQL server veri tabanı kullanıyorum yardımcı olacak arkadaşlara şimdiden teşekürler)
CREATE TRIGGER NAKITISLEMLER_AI0 FOR NAKITISLEMLER
ACTIVE AFTER INSERT POSITION 0
AS
begin
/* Trigger text */
insert into hareketler (hareketler.carikod, hareketler.cariunvan, hareketler.tarih, hareketler.islemturu,
hareketler.borc, hareketler.alacak) values (nakitislemler.carikod, nakitislemler.cariunvan, nakitislemler.tarih,
nakitislemler.islemturu, nakitislemler.borc, nakitislemler.alacak);
if (nakitislemler.borc is null) then
update carikart SET carikart.alacak = carikart.alacak + nakitislemler.alacak where CARIKART.carikod = nakitislemler.carikod;
Else
update carikart SET carikart.borc = carikart.borc + nakitislemler.borc where CARIKART.carikod = nakitislemler.carikod;
end
ben bu tür işleri procedure kullanarak yapıyorum sonrada trigirle proceduru çağırıyorum boylece bitane procedur yazarak heryerde aynı proceduru cağırıyorum
CREATE PROCEDURE MUSTERI_URUN_GIRIS_INSERT (
ID INTEGER,
GENELTOPLAM FLOAT)
AS
DECLARE VARIABLE DLR_KAYIT_SAYISI INTEGER;
begin
select count(*)from CARIHESAP where ID = :ID INTO DLR_KAYIT_SAYISI;
if (DLR_KAYIT_SAYISI=0) then
insert into CARIHESAP (ID,BAKIYE) values(:ID,0);
update CARIHESAP set BAKIYE = BAKIYE+:GENELTOPLAM where
ID = :ID;
End
CREATE TRIGGER FATURABASLIK_INSERT FOR FATURABASLIK
ACTIVE AFTER INSERT POSITION 0
AS
begin
execute procedure musteri_urun_giris_insert NEW.CH_ID, new.GENELTOPLAM;
end
bu kayıt yapıldığın da çalışan triger
yanlız ben firebird 1.5 kullanıyorum bu kodları ordan aldım
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
eheh sizin verdiğiniz triger ve stored procedure örnekleri firebird e ait, denizfatihini tırmalatacaksınız valla.. SQL serverda bunlar biraz farklı. DEğişkenlerin başına @ işareti falan konuyordu bildiğim kadarıyla. @GENELTOPLAM gibi.. Triger ve stored procedurelerin SQL serverdaki yapısını Naile hanıma sorun bence.... SQL server in uzmanı o...
Geçip gideriz bizde ağızsız,dilsiz ve sorgusuz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz