GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

Copiar valor de um campo para outro na mesma tabela

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 !

Share

You may also like...

2 Responses

  1. vania disse:

    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

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

Deixe um comentário

O seu endereço de e-mail não será publicado.