Copiar valor de um campo para outro na mesma tabela
Olá !
Sou iniciante e gostaria de saber como eu copio em uma mesma tabela, o valor de um campo para outro. Peço desculpas se a pergunta for idiota.
Dema
Olá Dema, tudo bem ?
Não, a sua pergunta não é idiota, assim como você também não é o primeiro que me pergunta isso.
Então vamos ao exemplo prático:
CREATE TABLE teste ( campo1 NUMBER ,campo2 NUMBER ) / Table TESTE created. INSERT INTO teste VALUES (1,NULL) / 1 row inserted. INSERT INTO teste VALUES (2,NULL) / 1 row inserted. COMMIT / Commit complete. SELECT * FROM teste / CAMPO1 CAMPO2 ------ ------ 1 NULL 2 NULL UPDATE teste SET campo2 = campo1 / 2 rows updated. COMMIT / Commit complete. SELECT * FROM teste / CAMPO1 CAMPO2 ------ ------ 1 1 2 2
Veja que é possível um UPDATE na própria tabela, atualizando um campo com o resultado de um outro campo. Simples assim !
Espero ter ajudado ! Um abraço !

Developer Sênior na Scania | Entusiasta DevOps | PLSQL Specialist | EBS Developer (AR/AP/GL) | Community Manager no GPO
boa tarde…
supondo que eu quero copiar o valor de uma linha para outra ou seja em vez de copiar de uma coluna para outra quero que o mesmo valor na linha um esteja na linha doi
Boa noite Vania ! Desculpe a demora em responder.
Deixa eu ver se entendi. Em um UPDATE onde a condição traga mais de uma linha, você gostaria que a próxima receba o valor do rowid atual ?
Realmente nunca fiz algo do tipo em apenas um UPDATE. Porém, facilmente é implementado em um bloco SQL, onde você pode guardar o resultado em um rowtype e fazer o update no próximo registro.