Der Grund dafür, dass ich zwei unterschiedliche Werte bekommen habe, war die Zeile
NEW_STAMMID = gen_id(GEN_STAMMD_ID, 1);
Diese Zeile setzt den Generator um den Wert 1 nach oben. Wenn jetzt danach noch die Zeile
SQL-Code:
insert into STAMMD (STATUSNR, FIRMA, NAME, VORNAME, KURZNAME, ANREDENR, BEMERKUNG, KENWORT, AKTIVE)
values (2, 1, '', '', '', 1, '', '', 1);
ausgeführt wird, wird der Trigger wieder um eins erhöht. Ich habe daher diese Zeile dann abgeändert in
SQL-Code:
insert into STAMMD (STAMMNR, STATUSNR, FIRMA, NAME, VORNAME, KURZNAME, ANREDENR, BEMERKUNG, KENWORT, AKTIVE)
values (:NEW_STAMMID, 2, 1, '', '', '', 1, '', '', 1);
, womit ich in allen drei Tabellen den gleichen Wert erreicht habe. Ich war immer davon ausgegangen und hatte auch die Beschreibung falsch verstanden, dass der Befehl
gen_id mir nur einen Wert liefert aber nicht den Wert im Generator ändert.