DA ich mit Triggern noch nicht viel Erfahrung habe, möchte ich wissen, ob man folgenden Trigger noch besser machen kann :
SQL-Code:
SET TERM ^ ;
ALTER TRIGGER LB_INSERT
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 ;^
Machen soll er folgendes : Beim Einfügen in die Lagerbuchungszeile soll aus der Artikel Tabelle der aktuelle Preis geholt werden und in die Spalte EK_PREIS gespeichert werden und im Artikel Stamm das Feld NEED_RECALC auf ein setzten.