OPMERKING:dit antwoord is voor SQL Server. De oracle tag is toegevoegd aan de vraag na dit antwoord
Ik ga ervan uit dat uw tabel een IDENTITY
. heeft kolom die ook de primaire sleutel is, volgens de principes van goed ontwerp. Laten we ook aannemen dat het niet . is hebben berekende kolommen (of tijdstempels of elk type dat meer manipulatie vereist). Laten we ten slotte aannemen dat u op zijn minst de naam van deze ID-kolom kent, die standaard is, b.v. "id
".
U kunt deze reeks gebruiken:
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;