Pular para o conteúdo

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 !

Sergio Willians

Sergio Willians

Sergio Willians é o fundador do GPO (Grupo de Profissionais Oracle) e possui quase 30 anos de experiência em tecnologias Oracle, sendo especialista em desenvolvimento Forms/Reports, PL/SQL e EBS (E-Business Suite) nos módulos Receivables, Payables e General Ledger. Atualmente trabalha na Scania Latin America, onde se dedica à área de integração de dados com Confluent Kafka. Sua paixão é compartilhar conhecimento com a comunidade Oracle, contribuindo para o crescimento e a excelência da plataforma.

Comentário(s) da Comunidade

  1. Avatar de vania

    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. Avatar de Sergio Willians

    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. Campos obrigatórios são marcados com *

plugins premium WordPress