Pular para o conteúdo
  • Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 15 anos, 7 meses atrás por jspaulonci.
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #95510
    rhicky
    Participante

      Prezados,

      Por favor, preciso de ajuda para a seguinte situação:

      Preciso fazer um update de um campo da tabela com numeração sequencial por ordenamento. Segue abaixo exemplo do que preciso:

      UPDATE PFUNC
      SET NROFICHAREG = 1, 2, 3…
      WHERE CODFILIAL = 5
      AND CODTIPO = ‘N’
      ORDER BY DATAADMISSAO

      Como ficaria a sentença para esta situação ?

      #95516
      jspaulonci
      Participante

        Qual é sua real necessidade, do jeito que você colocou não existe possibilidade, somente de fizer um cursor e ir fazendo o update pela chave, se existir chave na tabela.

        #95545
        burga
        Participante

          Troque todos os ID que coloquei no código pela PK da tabela:

          UPDATE PFUNC P
          SET P.NROFICHAREG =
          (SELECT T2.RN FROM
          (SELECT ROWNUM RN, T1.ID
          FROM
          (SELECT ID
          FROM PFUNC
          WHERE CODFILIAL = 5
          AND CODTIPO = 'N'
          ORDER BY DATAADMISSAO ) T1
          ) T2
          WHERE T2.ID = P.ID)
          WHERE P.ID IN
          (SELECT ID
          FROM PFUNC
          WHERE CODFILIAL = 5
          AND CODTIPO = 'N');

          #95561
          jspaulonci
          Participante

            Bela alternativa Burga, não tinha pensado nisso.

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