Pular para o conteúdo
Visualizando 7 posts - 1 até 7 (de 7 do total)
  • Autor
    Posts
  • #92174
    gsmdf
    Participante

      Galera,

      Tenho atualmente duas colunas que são NUMBER(6,0) e tenho que alterar para NUMBER(6,2), porém ao tentar rodar o modify:

      ALTER TABLE X
      MODIFY (QTD_PONTOS NUMBER(6,2)
      )
      /

      Porém ao tentar executar a query retorna um erro falando que a coluna deve estar vazia para diminuir a precisão ou escala.

      Como faço ?

      #92177
      hudsona
      Participante

        Com certeza você tem valores nessa coluna em algumas linhas que ultrapassam essa escala …..

        #92178
        gsmdf
        Participante

          Pra solucionar isso então teria de alterar esses valores na mão ? Ou deleta-los?

          #92181
          gsmdf
          Participante

            Fiz um select aqui, e a coluna tem valores entre 5 e 60 apenas, todos inteiros, sem parte decimal…

            #92183
            hudsona
            Participante

              Realmente,

              Fiz um teste agora, e ocasionou esse erro.
              Faz o seguinte:

              Cria uma nova coluna

              ALTER TABLE X ADD QTD_PONTOS_2 NUMBER (6,2);

              Atualiza a coluna

              UPDATE X SET QTD_PONTOS_2 = QTD_PONTOS;
              COMMIT;

              Dropa essa coluna

              ALTER TABLE X DROP COLUMN QTD_PONTOS;

              Altera o nome da coluna

              ALTER TABLE X RENAME COLUMN QTD_PONTOS_2 TO QTD_PONTOS;

              #92191
              Avatar photoLeonardo Litz
              Participante

                Não esqueça de recompilar os objetos relacionados a esta tabela!

                #92205
                gsmdf
                Participante

                  Coloquei como NUMBER(8,2) e resolveu.

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