OBSERVAÇÃO:Esta resposta é para o SQL Server. O oráculo tag foi adicionada à pergunta após esta resposta
Vou assumir que sua tabela tem uma
IDENTITY
coluna que também é a chave primária, de acordo com os princípios do bom design. Vamos supor também que não ter colunas computadas (ou timestamps ou qualquer tipo que exija mais manipulação). Vamos finalmente supor que você saiba pelo menos o nome dessa coluna de ID, que é padrão, por exemplo "id
". Você pode usar esta sequência:
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;