Moin, Moin,
ich habe ein riesiges Problem .... und nirgends eine Lösung.
System : MSSQL 2005
Problem : Zwei Tabellen sollen verschmolzen werden
Elemente sind flexibel, d.h., direkte Spaltenaddressierung klappt nicht, aber die beiden Tabellen sind vom Aufbau komplett identisch - aber die Identitäten können überlappen, wobei eine Tabelle ihre Identitäten behalten muss, während die zweite angepasst werden darf.
Tja, mein intuitiver Versuch war :
INSERT INTO OldItems
SELECT *
FROM NewItems
(sind zwar noch ein paar Befehle mehr, aber dieser Dreizeiler verursacht schon den Fehler)
Fehlermeldung : Ein expliziter Wert für die Identitätsspalte in der 'Items'-Tabelle kann nur angegeben werden, wenn eine Spaltenliste verwendet wird und IDENTITY_INSERT auf ON festgelegt ist.
Sowas wie SET IDENTITY_INSERT Olditems ON hilft nichts, noch eine manuelle Erhöhung der ID in Newitems.
Ich habe schon ein paar Foren durchgewühlt - und fand mehrere die dieses Problem hatten, dann wurde herumgedoktort, aber ne Lösung habe ich bisher nicht gesehen; oder wißt Ihr eine ?
Gruesse,
ich habe ein riesiges Problem .... und nirgends eine Lösung.
System : MSSQL 2005
Problem : Zwei Tabellen sollen verschmolzen werden
Elemente sind flexibel, d.h., direkte Spaltenaddressierung klappt nicht, aber die beiden Tabellen sind vom Aufbau komplett identisch - aber die Identitäten können überlappen, wobei eine Tabelle ihre Identitäten behalten muss, während die zweite angepasst werden darf.
Tja, mein intuitiver Versuch war :
INSERT INTO OldItems
SELECT *
FROM NewItems
(sind zwar noch ein paar Befehle mehr, aber dieser Dreizeiler verursacht schon den Fehler)
Fehlermeldung : Ein expliziter Wert für die Identitätsspalte in der 'Items'-Tabelle kann nur angegeben werden, wenn eine Spaltenliste verwendet wird und IDENTITY_INSERT auf ON festgelegt ist.
Sowas wie SET IDENTITY_INSERT Olditems ON hilft nichts, noch eine manuelle Erhöhung der ID in Newitems.
Ich habe schon ein paar Foren durchgewühlt - und fand mehrere die dieses Problem hatten, dann wurde herumgedoktort, aber ne Lösung habe ich bisher nicht gesehen; oder wißt Ihr eine ?
Gruesse,