Pular para o conteúdo
Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Autor
    Posts
  • #74626
    Anônimo

      MONTEI O UPDATE ABAIXO, MAS QUANDO O SELECT RETORNA MAIS DE UMA LINHA D? UM ERRO, COMO CORRIGIR O UPDATE PARA ATUALIZAR O CAMPO COM OS DOIS OU MAIS REGISTRO QUE APARE?AM NO SELECT???

      UPDATE TGFORD SET ROTEIRO = (SELECT DISTINCT CB.CODVEND || ‘ – ‘ || VD.APELIDO FROM TGFCAB CB, TGFVEN VD WHERE CB.CODVEND = VD.CODVEND AND CB.ORDEMCARGA = 8822)
      WHERE ORDEMCARGA = 8822

      #74629
      Anônimo

        Tente fazer uma fun??o.

        [quote=”Fabr?cio”:3gr7lip1]MONTEI O UPDATE ABAIXO, MAS QUANDO O SELECT RETORNA MAIS DE UMA LINHA D? UM ERRO, COMO CORRIGIR O UPDATE PARA ATUALIZAR O CAMPO COM OS DOIS OU MAIS REGISTRO QUE APARE?AM NO SELECT???

        UPDATE TGFORD SET ROTEIRO = (SELECT DISTINCT CB.CODVEND || ‘ – ‘ || VD.APELIDO FROM TGFCAB CB, TGFVEN VD WHERE CB.CODVEND = VD.CODVEND AND CB.ORDEMCARGA = 8822)
        WHERE ORDEMCARGA = 8822[/quote]

        #74631
        Anônimo

          Como seria esta fun?

          #74633
          Marcio68Almeida
          Participante

            Na verdade, n?o vai funcionar…
            Voc? est? tentando inserir o valor de n registros em uma ?nica coluna…
            Especifique o que voc? realmente quer fazer, pois acho que h? um erro de l?gica aqui…

            #74638
            Anônimo

              Oque preciso fazer ? concaternar os valores e colucar em uma unica coluna

              ex:

              resultado do select
              2 – pedro
              3 – Joao
              4 – jose

              roteiro = ‘2 – pedro, 3 – Joao, 4 – Jose’;

              #74639
              Marcio68Almeida
              Participante

                Como disse nossa amiga, voc? vai ter que fazer uma fun??o…
                Criar um cursor e pegar o resultado e ir concatenando para depois atualizar sua coluna…

                #74641
                Anônimo

                  Voc? tem algum exemplo deste tipo de fun??o??

                  #74664
                  Anônimo

                    Tentei fazer cheguei na fun??o abaixo mas n?o esta dando certo …

                    DECLARE

                    P_TEMP VARCHAR2(255);
                    CURSOR CURVEND IS
                    SELECT DISTINCT CAB.CODVEND || ‘ – ‘ || VEN.APELIDO
                    FROM TGFCAB CAB, TGFVEN VEN
                    WHERE CAB.CODVEND = VEN.CODVEND AND CAB.ORDEMCARGA = :NEW.ORDEMCARGA;

                    BEGIN

                    UPDATE TGFORD SET ROTEIRO = ” WHERE ORDEMCARGA = :NEW.ORDEMCARGA;
                    OPEN CURVEND;
                    FETCH CURVEND INTO P_TEMP;
                    WHILE CURVEND%FOUND LOOP
                    UPDATE TGFORD SET ROTEIRO = ROTEIRO || ‘, ‘ || P_TEMP
                    WHERE ORDEMCARGA = :NEW.ORDEMCARGA;
                    END LOOP;
                    CLOSE CURVEND;

                    END;

                    Agrade?o qq colabora?

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