{
Büyük datalarda özellikle 3000 ve daha fazla kayıt bulunduran datalarda
tüm kayıtlar gözden geçirilmek istendiğinde While komutunu yada ona benzer
bir döngü kullanırsınız bu ise teker teker çok yavaş bir şekilde işlem görür
bunun için InterBase Tablo içerisinde işlemi arka planda yürütebilecek komutlar
gerekir işte bu komutlar...
Web : http://www.cyberflag.tr.cx
E-Mail : serkan@onlineyazilim.com | sgunes58@yahoo.com |serkan@onlinebilgisayar.com
}
SET TERM !! ;
CREATE TRIGGER DENEME FOR TOBLO // buradaki DENEME TRIGGER IN ADI TOBLO TRIGGER IN OLUŞTURULACAĞI TABLONUN ADI YAZILACAKTIR...
ACTIVE BEFORE INSERT // BU KISIMA ACTIVE YADA INACTIVE BEFORE YADA AFTER (INSERT,UPDATE,DELETE) KOMUTLARI GELİR...
AS
BEGIN
NEW.DENEME = 0; { BURADA NEW --> YENİ EKLENEN KAYITTIR
YANİ YENİ EKLENEN DENEME İSİMLİ FİELDIN DEĞERİ 0 OLACAK DEMEKTİR
ÜST TARAF INSERT YERİNE UPDATE OLSAYDI (ACTIVE BEFORE --> INSERT <--)
O ZAMAN NEW DÜZENLENEN SATIRDAKİ DENEME FİELDI MANASINA GELECEKTİ
}
OLD.DENEME = NEW.TEDIYE + NEW.GECTUTAR; //BURADA OLD ÖNCEKİ KAYIT MANASINA GELİR
EXECUTE PROCEDURE ISLEMTOPLAM(NEW.TAHSILAT)
RETURNING_VALUES NEW.DENEME;{ BU KOMUT YAPILMIŞ OLAN PROCEDURE Ü ÇAĞIRIR
ISLEMTOPLAM(NEW.TAHSILAT) BU METİN ISLEMTOPLAM ADLI PROCEDURE TAHSILATIN YEHİ
DEĞERİNİ ATAR RETURNING_VALUES NEW.DENEME PROCEDURE DEN ÇIKAN DEĞERİ
DENEMENİN YENİ DEĞERİ OLARAK ATAR...}
END !!
SET TERM ; !!
SET TERM !! ;
CREATE PROCEDURE DENEME (TABLEADI VARCHAR(15)) // GELEN DEĞERİN TİPİ BURADA TANIMLANIYOR
RETURNS(DEGER VARCHAR(30))// GÖNDERİLECEK DEĞERİN TİPİ BURADA TANIMLANIYOR
AS
BEGIN
SELECT KOD FROM KODLAR WHERE TABLEADI = :TABLEADI INTO :DEGER;//INTO KOMUTU ÇIKAN DEĞERİ DEGER DEĞİŞKENİNE ATAR
DEGER = DEGER + 1;
UPDATE KODLAR SET KOD = :DEGER
WHERE TABLEADI = :TABLEADI;
EXIT;// PROCEDUREDEN ÇIKAR
END!!
SET TERM ; !!
// yakın da function ve Generatorların kullanımınıda anlatacağım...