Pular para o conteúdo
Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Autor
    Posts
  • #91022
    Girino
    Participante

      OLA PESSOAL
      BOA TARDE, TUDO BEM? 8)

      SOU NOVO POR AQUI E GOSTARIA DE UMA AJUDA SE POSSÍVEL..!! 🙄

      PORQUE O UPDATE ABAIXO NÃO FUNCIONA NO ORACLE?
      O QUE EU ESTOU FAZENDO DE ERRADO?

      UPDATE TABELA
      SET PESOBRUTO = A.PESOBRUTO,
      CODAUXILIAR = A.EAN13,
      LARGURAM3 = A.LARGURAM3,
      ALTURAM3 = A.ALTURAM3,
      COMPRIMENTOM3 = A.COMPRIMENTOM3,
      CODAUXILIAR2 = A.DUN14,
      LARGURAARM = A.LARGURAARM,
      COMPRIMENTOARM = A.COMPRIMENTOARM,
      ALTURAARM = A.ALTURAARM

      FROM TABELA A INNER JOIN TABELA B ON A.CODPROD = B.CODPROD;

      SE ALGUEMN PUDER AJUDAR..!!

      MUITO OBRIGADO,

      RENATO 😀

      #91028
      Avatar photoRegis Araujo
      Participante

        Ola Girino, boa noite..!

        Pq vc não cria uma procedure para fazer esta atualização.. é muito mais rapido e facil…..

        Abraços..!

        #91038
        Girino
        Participante

          Olá.

          Pode até ser, porém eu primeiro preciso acertar o select, caso contrário a procedure não irá funcionar do mesmo jeito..!!

          Muito obrigado pela atenção..!!

          um abraço,

          Renato

          #91039
          rwarstat
          Participante

            Renato,

            Posta a estrutura das tabelas envolvidas para que a gente possa te ajudar melhor.

            []´s
            Roberto

            #91043
            diegolenhardt
            Participante

              Da alguma mensagem de erro? Qual?

              O que mais exatamente nao da certo?

              #91064
              Girino
              Participante

                Olá, Bom Dia..!! 8)

                Utilizo este script no SQL Server e funciona perfeitamente, achei que no ORACLE também desse certo.
                Consigo fazer de outras maneiras, setando apenas um de cada vez, ou de outras formas, mas gostaria de fazer algo parecido com o meu script que roda no SQL Server.

                O erro é o seguinte: 🙄

                ORA-00933: SQL Command not properly ended

                Muito Obrigado pela atenção..!!

                Renato 😀

                #91073
                fsitja
                Participante

                  Não entendi se você está fazendo um join entre duas tabelas distintas ou se é um self-join. Se for self join não precisa nada disso, é só dar o update direto…

                  Daqui para baixo assumo que são tabelas distintas.

                  Você não pode botar from em comando de update. Se quiser setar os valores no mesmo comando terá de ser em sub-queries depois do ‘=’ mas não fica eficiente.

                  Particularmente, acho que eu usaria um merge com when matched dando update. Dá uma olhanda na sintaxe no link abaixo.

                  Não precisa de cláusula WHERE? Vai dar update em todas as linhas da sua tabela onde houver correspondência do join (ou match)?

                  Exemplo:

                  MERGE INTO tabela1 B
                  USING (SELECT * FROM TABELA2) A
                  ON (A.CODPROD = B.CODPROD)
                  WHEN MATCHED THEN UPDATE SET
                  B.PESOBRUTO = A.PESOBRUTO,
                  B.CODAUXILIAR = A.EAN13,
                  B.LARGURAM3 = A.LARGURAM3,
                  B.ALTURAM3 = A.ALTURAM3,
                  B.COMPRIMENTOM3 = A.COMPRIMENTOM3,
                  B.CODAUXILIAR2 = A.DUN14,
                  B.LARGURAARM = A.LARGURAARM,
                  B.COMPRIMENTOARM = A.COMPRIMENTOARM,
                  B.ALTURAARM = A.ALTURAARM

                  http://download.oracle.com/docs/cd/E118 … SQLRF01606

                  #91074
                  Girino
                  Participante

                    OK..!! 8)

                    Vou fazer os testes..!! 😀

                    Muito Obrigado..!! 😉

                    Renato

                  Visualizando 8 posts - 1 até 8 (de 8 do total)
                  • Você deve fazer login para responder a este tópico.