Hello,
Insert into tbl_GuidGF(GFId, Zaehler,RepID)
select GeschaeftFallID,(select max(Zaehler)+1 from tbl_GuidGF),GeschaeftFallID from tbl_Geschaeftfall
where GeschaeftFallID not in(select GFID from tbl_GuidGF)
Ist das bei MS-SQL erlaubt, ein (sub-)Select auf eine vom Insert betroffene Spalte zu legen?
Bei MySQL gibt es da, soweit ich weiß, heftig auf die Finger, bzw bei älteren Versionen konnte das zum Verlust der Daten führen.
Im Prinzip kannst Du nur eine mit einem Table-Lock gebundene Sequenz daraus machen
Tabelle sperren
maximalen Zähler holen
Daten mit neuem Zähler eintragen
Tabelle entsperren
Anderenfalls hinterlässt Du eine nicht behandelte Race Condition.
Ein harzliches Glückauf
Tom vom Berg
http://bergpost.annerschbarrich.de
--
Nur selber lernen macht schlau
Nur selber lernen macht schlau