Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Trigger Interbase (https://www.delphipraxis.net/5189-trigger-interbase.html)

Flual 27. Mai 2003 11:25


Trigger Interbase
 
hab eine frage zum interbase trigger mit autoinkrement.

hab zuerst einen generator erstellt:

SQL-Code:
CREATE GENERATOR gen;
SET GENERATOR gen TO ;
dann den trigger erstellt:

SQL-Code:
CREATE TRIGGER autoinc FOR schueler
BEFORE INSERT AS
BEGIN
  NEW.schuelerid = GEN_ID(gen, 1);
END
sollte so weit alles richtig sein
oder?

nur beim ausführen kommt folgender fehler:

SQL-Code:
Dynamic SQL Error
SQL error code = -104
Unexpected end of command
Statement: CREATE TRIGGER autoinc FOR schueler
BEFORE INSERT AS
BEGIN
 NEW.schuelerid = GEN_ID(gen, 1)
keine ahnung, kann viell. jemand helfen?

[Edit=Sakura]SQL-Tags eingefügt[/Edit]

r_kerber 27. Mai 2003 11:30

Versuch doch mal den Quelltext für den Trigger in runde Klammern zu schreiben. So etwas habe ich zumindest in unserer Informix-DB gefunden.

Flual 27. Mai 2003 11:32

funzt leider auch nicht.
weiß wirklich net wo der fehler liegt.

bin für jede hilfe dankbar
mfg

r_kerber 27. Mai 2003 11:35

Folgendes Beispiel findest Du in der OH von Interbase, Versuche es mal so!
SQL-Code:
SET TERM !! ;
CREATE TRIGGER SET_CUST_NO FOR CUSTOMER
   BEFORE INSERT AS
   BEGIN
      NEW.CUST_NO = GEN_ID(CUST_NO_GEN, 1);
   END !!

SET TERM ; !!

Flual 27. Mai 2003 11:39

alles schon probiert.
es muss irgendwas mit dem ; oder so sein.

Hansa 27. Mai 2003 11:42

also mir gefällt der Bezeichner "gen" für den generatot nicht. Ist das nicht ein reserviertes Wort. Probier mal, den anders zu benennen.

Flual 27. Mai 2003 11:44

schon gelöst
ganz am anfang vor create trigger SET TERM; setzen

r_kerber 27. Mai 2003 11:48

Zitat:

Zitat von Flual
ganz am anfang vor create trigger SET TERM; setzen

das habe ich doch geschrieben!

Gast 27. Mai 2003 14:00

Tja... Rainer,

nicht mal DANK für Deine Mühe...

also es kommt von mir:

Gut gemacht.. :D

Gruß

Paul Jr.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz