HINWEIS:Diese Antwort gilt für SQL Server. Das Orakel -Tag wurde der Frage nach dieser Antwort hinzugefügt
Ich gehe davon aus, dass Ihre Tabelle eine IDENTITY
hat Spalte, die auch der Primärschlüssel ist, gemäß den Prinzipien des guten Designs. Nehmen wir außerdem an, dass dies nicht der Fall ist haben berechnete Spalten (oder Zeitstempel oder andere Typen, die mehr Bearbeitung erfordern). Nehmen wir abschließend an, dass Sie zumindest den Namen dieser ID-Spalte kennen, was Standard ist, z. "id
".
Sie können diese Sequenz verwenden:
SELECT * INTO #tmp FROM tbl WHERE id = @copyfrom;
ALTER TABLE #tmp DROP COLUMN id;
UPDATE #tmp SET
column1 = ...,
column2 = ...,
column3 = ...; --- the subset of columns you want to change
INSERT tbl SELECT * FROM #tmp;