none
Update com Select RRS feed

  • Pergunta

  • Galera tenho 2 tabelas diferentes e preciso gravar algumas informações que tenho na primeira na segunda tabela. Como faço um update com select?

    Obrigado


    SirSmart
    terça-feira, 21 de junho de 2011 12:23

Respostas

Todas as Respostas

  • Bom dia SirSmart!

    Seria mais ou menos assim:

    update
     c
    set
     c.nm_cliente = 'teste'
    from
     tb_vendas       v
     inner join tb_cliente    c
      on v.cd_cliente  =  c.cd_cliente
    where
     v.cd_venda = 10
    

     

    É bem simples. Crie seu select com INNER JOIN entre as duas tabelas e alias para elas. Depois tire o "SELECT *" e substitua por "UPDATE ALIASDaQueVoceQuerAtualizar SET CAMPO = VALOR"

    Espero ter ajudado.


    Fredy Esmeraldo
    Microsoft MCP, MCTS SQL Server 2008 Implementation and Maintenance
    Visite o meu blog: http://fredyesmeraldo.wordpress.com
    Me siga no twitter: @fredyesmeraldo
    **Ajude a melhorar o sistema de busca do fórum.Marque a(s) resposta(s) que foram úteis**
    terça-feira, 21 de junho de 2011 12:27
  • Tem alguma outra maneira de fazer isso??

     

    Obrigado


    SirSmart
    terça-feira, 21 de junho de 2011 14:29
  • Sir,

     

    Teoricamente não, mas o que voce tem em mente?


    Oracle OCA11g, MCC 2011! Dicas e novidades: www.fabrizziocaputo.wordpress.com http://www.tripletech.com.br/blog/ Twitter: @FabrizzioCaputo
    terça-feira, 21 de junho de 2011 14:37
    Moderador
  • Bom Dia,

    Existem quatro formas de fazer isso pelo comando UPDATE. Entretanto, as demais formas são pequenas variações da solução postada pelo Fredy. Iria alterar um ou outro nome de lugar, mas o resultado final é o mesmo. No 2008 você pode fazer com o MERGE, mas acredito ser mais complexo que o UPDATE além de um processamento desnecessário. Você pode opcionalmente usar um CURSOR para varrer a tabela e promover os UPDATEs, mas além de mais código é muito menos performático.

    Por que o desinteresse no UPDATE proposto ?

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 21 de junho de 2011 14:51