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 !
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.