[Interbase 5.5, Delphi 5.0]Autowert

Hallo Ihr Wissenden!

Gibt es eine Möglichkeit einen Autowert zu erzeugen, oder muß ich den ganzen Trara mit der Hand abwickeln! Sprich Tabelle nach dem höchsten Wert durchsuchen, diesen um Eins erhöhen und dann den neuen Datensatz zurückschreiben. Das muß doch einfacher gehen, oder??

Herzlichen Dank!

Silvia

Gibt es eine Möglichkeit einen Autowert zu erzeugen

Ja, über einen Insert-Trigger:

CREATE GENERATOR kd\_id\_gen !!
SET GENERATOR kd\_id\_gen TO 0 !!
CREATE TRIGGER trg\_ins\_kunden FOR kunden BEFORE INSERT AS
 BEGIN
 NEW.kd\_id = GEN\_ID( kd\_id\_gen, 1 );
 END !!

Vorher noch wie in allen ISQL-Skripten SET TERM !!;. Das ist irgendwie eine sehr eigenartige Angewohnheit von dem Interbase. :smile:

Du machst nicht zufällig auch SE an der TU-Wien, weil du das brauchst? Falls du brauchst, ich hab ein umfangreicheres Skript mit allen Arten von Triggern geschrieben, dass Constraints, Muss-Felder u. ä. prüft und brauchbare Fehlermeldungen zurückgibt. Damit erspart man sich das ganze Prüfen in der Anwendung selbst. :smile:

Grüße, Robert