Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jamersondr

Atualizar tabela!

Recommended Posts

Tenho duas tabelas: A(campo CIDADE - sao paulo, SAO PAULO, São paulo) e B(campos CIDADES - sao paulo, SAO PAULO, São paulo e o campo CIDADE_TRATADA - São Paulo). A tabela A precisa ser corrigida baseada na tabela B, já que esta prevê os possíveis erros de digitação o os corrigi conforme o campo CIDADE_TRATADA. Qual instrução SQL poderia ser executada no ORACLE?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oracle não fa update cruzado, eu uso um bloco plsql para isto

 

Exemplo

 

Neste caso o select teria o join das duas tabelas ?

 

Há uma chave comum ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oracle não fa update cruzado, eu uso um bloco plsql para isto

 

Exemplo

 

Neste caso o select teria o join das duas tabelas ?

 

Há uma chave comum ?

O campo CIDADE é comum as duas tabelas, ou seja as cidades que estão erradas na tabela A estão previstas na tabela B e na tabela B o campo CIDADE_TRATADA é a forma correta que deve ser inserida no campo CIDADE da tabela A.

Compartilhar este post


Link para o post
Compartilhar em outros sites

+ou- isto

 

--cidades

select tabelab.cidade , tabelab.cidade_tratada
FROM TABELAA,TABELAB
where tabelab.cidade = tabelaa.cidade

 



--bloco

 

BEGIN
  FOR R IN (SELECT TABELAB.CIDADE , TABELAB.CIDADE_TRATADA
            FROM TABELAA,TABELAB
            WHERE TABELAB.CIDADE = TABELAA.CIDADE))
  LOOP
    UPDATE TABELAA SET CIDADE = R.CIDADE_TRATADA
    where  cidade = r.cidade;
  END LOOP;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.