Ir para conteúdo
Fórum Script Brasil
  • 0

Update com From


Kurarj

Pergunta

Galera, eu quebrei a cabeça, mas não entendi direito o sentido de um código aqui. Eu nunca tinha visto a estrutura update com from, mas ACHO que entendi o suficiente pra discordar com a maneira que o mesmo foi feito.

Peço ajuda pra saber se o que pensei foi correto ou, caso contrário, que me ajudem a entender o que a query faz.

O que eu pensei foi que o código abaixo:

update TABELA
set SITUACAO_VOLUME = 6
from TABELA R03
where TRANSPORTADORA = 555 and R03_IN_TIPO_PEDIDO = '4' and not exists (select 1 from TABELA R031
where R03.NR_PEDIDO = R031.NR_PEDIDO and R03.TIPO_PEDIDO = R031.TIPO_PEDIDO and R03.TELEVENDAS = R031.TELEVENDAS and R03.DIGITACAO = R031.DIGITACAO and R031.SITUACAO_VOLUME not in (4))
é desnecessário porque, ao meu ver, da no mesmo que escrever a estrutura mais simples:
UPDATE TABELA SET SITUACAO_VOLUME = 6
WHERE TRANSPORTADORA = 555 AND TIPO_PEDIDO = '4' AND SITUACAO_VOLUME NOT IN (4)

CASO tenha entendido mais ou menos o que o UPDATE com o FROM faz, acredito que estou certo quanto às instruções.

Caso contrário, repito, gostaria que me ajudassem a entender o que o primeiro faz.

Obrigado!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom dia Kurarj,

No caso do 1º update, a tabela está sendo relacionada com ela mesma. Pelo que vi, não há lógica você fazer isto, a menos que a tabela seja recursiva. Pelas cláusulas utilizadas no subselect, não vejo recursividade.

Sendo assim, o 2º select fará a mesma coisa.

Outra coisa. Pode-se alterar a sintaxe de:

AND SITUACAO_VOLUME NOT IN (4)

Por:

AND SITUACAO_VOLUME <> 4

Utilize o "NOT IN" quando for referenciar mais de um valor.

Qualquer dúvida, pode postar.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...