REMARQUE :Cette réponse concerne SQL Server. L'oracle le tag a été ajouté à la question après cette réponse
Je vais supposer que votre table a un IDENTITY
colonne qui est aussi la clé primaire, selon les principes de bonne conception. Supposons également que ce n'est pas avoir des colonnes calculées (ou des horodatages ou tout type qui nécessitera plus de manipulation). Supposons enfin que vous connaissiez au moins le nom de cette colonne ID, qui est standard, par ex. "id
".
Vous pouvez utiliser cette séquence :
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;