Eu tenho uma tabela A com coluna (id, campo_1, campo_2) e outra tabela B tem coluna (id, campo_2)
Agora, quero mesclar a tabela B para A, o que significa que quero atualizar o campo_2 na tabela A para o valor da tabela B. Então, como implementar isso? BTW eu estou usando oracle
obrigado
Respostas:
Uma abordagem alternativa para a subconsulta correlacionada (sugerida por Kerri) seria usar a instrução MERGE, que pode ser mais eficiente que a subseleção (que só pode ser verificada observando o plano de execução de ambas as instruções).
fonte
MERGE
instrução é que você não pode atualizar a coluna na qual está unida, ou seja, não é possível atualizar a coluna usada naON
cláusula.ORA-01555: snapshot too old
Não sei exatamente o que você quer depois, mas isso deve funcionar de forma pontual ou contínua por meio de um trabalho agendado:
Agora, cada vez que o acima é executado, ele será feito em todas as linhas da tabela. Se isso é algo que você precisa fazer o tempo todo, sugiro outra coisa, mas para tabelas pontuais ou muito pequenas isso deve ser suficiente.
fonte
Eu fiz isso com sucesso usando uma tabela no usuário1 de outra tabela no usuário2:
fonte
Você pode criar um gatilho na tabela B que atualize a tabela A toda vez que o campo_2 na tabelaB for atualizado. Verifique aqui para obter mais informações sobre a criação de gatilhos - http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_triggers.htm#BABCIBBJ
fonte