BEMÆRK:Dette svar er for SQL Server. oracle tag blev tilføjet til spørgsmålet efter dette svar
Jeg vil antage, at din tabel har en IDENTITY
kolonne, der også er den primære nøgle, ifølge principper for godt design. Lad os også antage, at det ikke gør det har beregnede kolonner (eller tidsstempler eller enhver type, der kræver mere manipulation). Lad os endelig antage, at du i det mindste kender navnet på denne ID-kolonne, som er standard, f.eks. "id
".
Du kan bruge denne sekvens:
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;