Problem mit automatischer ID-Inkrementierung
-
Hallo,
ich habe folgendes Problem mit dem SQL Server 2005.
Ich habe für eine Tabelle eingestellt, dass der Primärschlüssel automatisch um 1 inkrementiert wird, sofern ein neuer Datensatz hinzugefügt wird. Die Datensätze importiere ich per SSIS-Projekt. Zusätzlich habe ich eingestellt, dass doppelte Werte nicht in die DB geschrieben werden, da ich das SSIS-Projekt mehrfach ausführen muss. Leider wird die ID auch bei doppelten Einträgen hochgezählt.
Beispiel:
Die ersten Einträge haben die ID 1,2,3,4 und 5. Dann starte ich das SSIS-Projekt in dem die ersten Datensätze ebenfalls wieder vorhanden und ein neuer Eintrag. Die ersten Einträge werden zwar nicht erneut geschrieben, aber der neue Eintrag bekommt die ID 11. Kann man irgendwo einstellen, dass die ID bei doppelten Werten nicht erhöht wird, so dass ein neuer Eintrag die ID 6 bekommen würde?
Danke
M-l-G
-
Wie machst du das den alles. Mit Triggern?
-
So wie ich das sehe, liegt das Problem darin, das deine Sequenz hochzählt bevor die Datensätze eingefügt werden (vermutlich während des SELECT schon, bevor der Kontrollmechanismus für die Doppelten Sätze greift ?!). Dann mach dir einfach einen Trigger auf INSERT und vergib die Nummer erst dann.