Hallo,
ich habe in meiner Datenbank einen
Trigger Before Insert and Update vorgemerkt:
SQL-Code:
begin
if ( New.Id IS NULL)
then New.Id = GEN_ID(Zebu_Aendg_ID, 1);
END
Die ID ist der PrimaryKey; der Trigger ist aktiv; der Generator existiert. Aber sowohl aus meinem Programm heraus als auch durch
IBExpert scheitert der folgende Befehl mit der Fehlermeldung "Verletzung der Eindeutigkeit bei ID":
SQL-Code:
INSERT INTO Zebu_Aendg ( PLZ, St1Name, St1Kz)
SELECT PLZ, ZBGName, ZBGKenn
FROM Quelle_Zebu q
WHERE ( Leitraum = :Leitraum )
AND ( SELECT COUNT(*) FROM Zebu z WHERE q.Plz = z.Plz ) = 0;
Wenn ich den Generator direkt einbaue, funktioniert es:
SQL-Code:
INSERT INTO Zebu_Aendg ( ID, PLZ, St1Name, St1Kz)
SELECT GEN_ID(ZEBU_AENDG_ID,1), PLZ, ZBGName, ZBGKenn
/* usw. alles andere unverändert */
Was kann ich übersehen haben? (Eigentlich weiß ich genau genug, wie ich mit Generatoren und Triggern verfahren muss, aber hier...) Danke! Jürgen