Problem mit automatischer ID-Inkrementierung

M-l-G

Grünschnabel
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
 
1. Ein Primärschlüssel ist nur eine Nummer! Nicht zwingend fortlaufend. Für Dein Projekt heisst das, daß Du keinen fortlaufenden Primärschlüssel hast.
2. Ohne mich mit einem SQL Server auszukennen, würde ich vermuten, das die Prüfung auf Doppelungen erst nach dem Import erfolgt, also nach dem der Primärschlüssel hochgezählt wurde.
Nun gibt es drei Möglichkeiten, entweder du machst die Prüfung vorher und schreibst dann erst neue DS; Du importierst erst in eine temporäre Tabelle, prüfst Doppelungen und schreibst dann neu oder Du lebst mit einem nicht fortlaufendem Primärschlüssel.
 

Neue Beiträge

Zurück