@mkinzler
nein habe ich nicht. Muss/soll ich das?
ich nutze zum erstellen des triggers IBExpert 2011.04.03 Personal Edition.
hier mal der komplette Triggertest aus dem Fenster: Trigger
Code:
CREATE OR ALTER trigger stueckliste_biu0 for stueckliste
active before insert or update position 0
as
DECLARE VARIABLE eh_id integer;
DECLARE VARIABLE f_st double;
begin
select
einheiten.id, einheiten.f_stueli
from artikel
join einheiten on
artikel.einheit = einheiten.id
where
artikel.id=new.komponente_id -- st.komponente_id=24
into :eh_id, :f_st;
if (eh_id<100) then new.menge= :eh_id;
end
im Fenster DDL steht dann:
Code:
SET
SQL DIALECT 3;
SET TERM ^ ;
CREATE OR ALTER TRIGGER STUECKLISTE_BIU0 FOR STUECKLISTE
ACTIVE BEFORE INSERT OR UPDATE POSITION 0
as
DECLARE VARIABLE eh_id integer;
--DECLARE VARIABLE f_st double;
begin
/*
Rechenvorschrift für Menge:
Einheit < 100 Menge wird direkt eingegeben
99 < Einheit < 200 Menge wird über Anzahl eingegeben
199 < Einheit < 300 Menge wird über Anzahl+L eingegeben
299 < Einheit Menge wird über Anzahl+L+B eingegeben
*/
select
einheiten.id--, einheiten.f_stueli
from artikel
join einheiten on
artikel.einheit = einheiten.id
where
artikel.id=new.komponente_id -- st.komponente_id=24
into :eh_id; -- :f_st;
if (eh_id<100) then new.menge= :eh_id;
end
^
SET TERM ; ^
die Fehlermeldung:
Invalid token.
Dynamic
SQL Error.
SQL error code = -104.
Token unknown - line 5, column 31.
;.
Das ist die Zeile: DECLARE VARIABLE f_st double;