Thema: Delphi Trigger verbessern ?

Einzelnen Beitrag anzeigen

Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Trigger verbessern ?

  Alt 29. Mär 2005, 08:05
@Hansa:
NEED_RECALC gibt an, das sich die Menge am LAger geändert hat, und das sich der Durchschnitts EK_PREIS geändert hat.

Mein Create Trigger sieht eigentlich ganz gleich aus, habe nur den letzten ALTER TRIGGER reingeschrieben, den ich auch selbst verwendet habe.
SQL-Code:
SET TERM ^ ;

CREATE TRIGGER "LB_INSERT" FOR "LAGER_BUCHUNG"
ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE ART_EK_PREIS DOUBLE PRECISION;
BEGIN
  IF (NEW.ARTIKELID > 0) THEN BEGIN
    SELECT EK_PREIS FROM ARTIKEL WHERE ID = NEW.ARTIKELID INTO :ART_EK_PREIS;
    UPDATE ARTIKEL SET NEED_RECALC = 1 WHERE ID = NEW.ARTIKELID;
    NEW.EK_PREIS = :ART_EK_PREIS;
  END
END
 ^

COMMIT WORK ^
SET TERM ;^
@Robert_G:
LagerStand muß (sollte) zumindest DOUBLE PRECISION da müssen relativ große Werte abgelegt werden (in Millionen Stückzahlen) aber auch Werte die mit einer Genauigkeit von 0.00001 (aber nicht beides gemeinsam)
EK_PREIS habe ich aus folgendem Punkt auch noch DP, da ich alle meine Float Felder als DP abgelegt habe, da ich sonst einfach öfters so schöne Werte wie 1.5623246E-129 anstatt von 0 bekomme (mit DP nicht)

aabeer:
Dein aabeer versteh ich nicht ganz, Bei mir ist in EK_PREIS der Druchschnittspreis der letzten Artikel die ins Lager gebucht wurden drinnen. Der ändert sich dann öfters (bei jeder zu und abbuchung vom Lager).
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat