Einzelnen Beitrag anzeigen

Berni68

Registriert seit: 9. Jan 2006
Ort: Villingen
162 Beiträge
 
Delphi XE5 Professional
 
#7

AW: Variablen in trigger

  Alt 27. Jul 2011, 17:32
@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;
Bernhard
  Mit Zitat antworten Zitat