Hallo,
ich habe heute meinen ersten Trigger erstellt.
Er tut auch das was er soll. Nun möchte ich allerdings eine Prüfung mit einbauen, da es sein kann daß eine Auftragsnummer mehrfach auftauchen kann.
SQL-Code:
SET TERM # ;
/* Bei Anlegen eines neuen Auftrags diesen als Kostenträger anlegen */
CREATE TRIGGER FIBUKTRG_upd FOR auftrag
After Insert AS
BEGIN
[b] if new.auftragnr not in (select kostentraeger from fibuktrg) Then [/b] <-----Prüfung
INSERT INTO FIBUKTRG (KOSTENTRAEGER, SPRACHCODE, BEZEICHNUNG, INFIBUGEB, VORLNR, GSNR) VALUES (new.AUFTRAGNR, '1',new.OBJEKTBEZ , NULL, NULL, NULL);
END #
SET TERM ; #
Allerdings bekomme ich da die folgende Meldung:
SQL-Code:
/* Bei Anlegen eines neuen Auftrags diesen als Kostenträger anlegen */
CREATE TRIGGER FIBUKTRG_upd
FOR auftrag
After
Insert AS
BEGIN
if new.auftragnr
not in (
select kostentraeger
from fibuktrg)
then
INSERT INTO FIBUKTRG (KOSTENTRAEGER, SPRACHCODE, BEZEICHNUNG, INFIBUGEB, VORLNR, GSNR)
VALUES (new.AUFTRAGNR, '
1',new.OBJEKTBEZ ,
NULL,
NULL,
NULL);
END )
Message: isc_dsql_prepare failed
SQL Message : -104
Invalid token
Engine Code : 335544569
Engine Message :
Dynamic
SQL Error
SQL error code = -104
Token unknown - line 7,
char 8
new
Wo liegt denn nun der Fehler.
[edit=Sharky]SQL-Tags eingefügt. Mfg, Sharky[/edit]