POZNÁMKA:Tato odpověď je pro SQL Server. oracle tag byl přidán k otázce za tuto odpověď
Budu předpokládat, že vaše tabulka má IDENTITY
sloupec, který je zároveň primárním klíčem podle zásad dobrého návrhu. Předpokládejme také, že ne mít vypočítané sloupce (nebo časová razítka nebo jakýkoli typ, který bude vyžadovat více manipulace). Předpokládejme konečně, že znáte alespoň název tohoto sloupce ID, který je standardní např. "id
." ".
Můžete použít tuto sekvenci:
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;