ЗАБЕЛЕЖКА:Този отговор е за SQL Server. оракул етикетът беше добавен към въпроса след този отговор
Ще приема, че вашата таблица има IDENTITY
колона, която също е първичен ключ, според принципите на добрия дизайн. Нека също приемем, че го правине имат изчислени колони (или времеви отпечатъци или друг тип, който ще изисква повече манипулации). Нека накрая приемем, че знаете поне името на тази колона ID, която е стандартна, напр. „id
".
Можете да използвате тази последователност:
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;