Update está errado e gostaria de corrigir

17/08/2011

0

Como fazer esse update funcionar? O Join está errado e como faria o correto?   UPDATE CONHECIMENTO_TESTE_UPDATE SET DATA_EMISSAO_CONHECIMENTO = ( SELECT CONHECIMENTO_CARGA_ATUALIZADA.DATA_EMISSAO_CONHECIMENTO FROM CONHECIMENTO_CARGA_ATUALIZADA WHERE CONHECIMENTO_CARGA_ATUALIZADA.DATA_EMISSAO_CONHECIMENTO = CONHECIMENTO.DATA_EMISSAO_CONHECIMENTO AND CONHECIMENTO_CARGA_ATUALIZADA.NUMERO_CONHECIMENTO = CONHECIMENTO.NUMERO_CONHECIMENTO AND CONHECIMENTO_CARGA_ATUALIZADA.FILIAL_ORIGEM = CONHECIMENTO.FILIAL_ORIGEM) WHERE CONHECIMENTO_TESTE_UPDATE.DATA_EMISSAO_CONHECIMENTO = CONHECIMENTO_CARGA_ATUALIZADA.DATA_EMISSAO_CONHECIMENTO AND CONHECIMENTO_TESTE_UPDATE.NUMERO_CONHECIMENTO = CONHECIMENTO_CARGA_ATUALIZADA.NUMERO_CONHECIMENTO AND CONHECIMENTO_TESTE_UPDATE.FILIAL_ORIGEM = CONHECIMENTO_CARGA_ATUALIZADA.FILIAL_ORIGEM
Pjava

Pjava

Responder

Posts

18/08/2011

Emerson Nascimento

primeiramente, a comparação abaixo não faz sentido.

AND CONHECIMENTO_TESTE_UPDATE.DATA_EMISSAO_CONHECIMENTO = CONHECIMENTO_CARGA_ATUALIZADA.DATA_EMISSAO_CONHECIMENTO

se as datas já são iguais, para quê o UPDATE ?



creio que a instrução abaixo atenda sua necessidade:

UPDATE CTU SET
  CTU.DATA_EMISSAO_CONHECIMENTO = CCA.DATA_EMISSAO_CONHECIMENTO
FROM
  CONHECIMENTO_TESTE_UPDATE CTU
INNER JOIN CONHECIMENTO_CARGA_ATUALIZADA CCA ON
  CCA.NUMERO_CONHECIMENTO = CTU.NUMERO_CONHECIMENTO
  AND CCA.FILIAL_ORIGEM = CTU.FILIAL_ORIGEM

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar