Pular para o conteúdo
  • Este tópico contém 8 respostas, 4 vozes e foi atualizado pela última vez 17 anos, 2 meses atrás por David Siqueira.
Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #84753
    Anônimo

      Pessoal, alguém pode me ajudar com este erro?…estou tentando executar o comando ALTER TABLE ….ADD(CONTRAINT FOREING KEY…)

      ORA-00604 error occurred at recursive SQL level 1

      #84754
      Avatar photoRegis Araujo
      Participante

        Cleber, bom dia!

        Tem como vc passar o seu comando completo e a estrutura da tabela em que vc esta executando este Alter Table???

        Abraços….

        #84755
        Anônimo

          ALTER TABLE TBEA_Item_Lancto_Agrupado
          ADD ( CONSTRAINT ILAG_LAGR_FK1
          FOREIGN KEY (ILAG_LAGR_LLAG_NUM_LOTE,
          ILAG_LAGR_IDE_LANCTO_CONTABIL)
          REFERENCES TBEA_Lancto_Agrupado ) ;

          DESC TBEA_ITEM_LANCTO_AGRUPADO;
          Describing TBEA_ITEM_LANCTO_AGRUPADO….
          NAME Null? Type


          ILAG_COD_CONT_CONTABIL NOT NULL VARCHAR2(10)
          ILAG_COD_LOC_NEGOCIO VARCHAR2(4)
          ILAG_COD_DIVISAO NOT NULL VARCHAR2(4)
          ILAG_COD_SERVICO VARCHAR2(6)
          ILAG_NUM_CICLO_FATUR NUMBER(4,0)
          ILAG_SEG_NEGOCIO VARCHAR2(4)
          ILAG_CHA_LANCTO NOT NULL VARCHAR2(1)
          ILAG_COD_AGENTE NOT NULL VARCHAR2(4)
          ILAG_COD_CEN_CUSTO VARCHAR2(10)
          ILAG_COD_CEN_LUCRO VARCHAR2(10)
          ILAG_UNI_MEDIDA VARCHAR2(3)
          ILAG_QTD_FATURADA NUMBER(13,3)
          ILAG_DAT_REF_TRAFEGO NUMBER(6,0)
          ILAG_VAL_LAN_CONTABIL NOT NULL NUMBER(13,2)
          ILAG_DES_ATRIBUICAO VARCHAR2(18)
          ILAG_DES_HISTORICO VARCHAR2(50)
          ILAG_COD_EVENTO VARCHAR2(12)
          ILAG_NUM_CNPJ NUMBER(14,0)
          ILAG_NUM_CPF NUMBER(11,0)
          ILAG_DAT_VENCTO DATE
          ILAG_ITEM_LANCTO_AGRUPADO NOT NULL NUMBER(10,0)
          ILAG_NUM_ITEM_LANCTO NOT NULL NUMBER(6,0)
          ILAG_LAGR_LLAG_NUM_LOTE NOT NULL NUMBER(10,0)
          ILAG_ORDEM_INTERNA VARCHAR2(12)
          ILAG_CENTRO VARCHAR2(4)
          ILAG_NUM_IBGE NUMBER(7,0)
          ILAG_LAGR_IDE_LANCTO_CONTABIL NOT NULL NUMBER(10,0)

          #84757
          Avatar photoRegis Araujo
          Participante

            Cleber, boa tarde!

            Velho.. será que não esta faltando os campos da tabela de referencia???

            vide abaixo…

            ALTER TABLE TBEA_ITEM_LANCTO_AGRUPADO
            ADD CONSTRAINT ILAG_LAGR_FK1 FOREIGN KEY (ILAG_LAGR_LLAG_NUM_LOTE,ILAG_LAGR_IDE_LANCTO_CONTABIL)
            REFERENCES TBEA_LANCTO_AGRUPADO
            (CAMPOS_DA_TABELA_DE_REFERENCIA);

            Abraços….

            #84765
            Avatar photoLeonardo Litz
            Participante

              Desative todas as trigger desta tabela, e veja tambem se não há nenhuma trigger de sistema.

              #84770
              Anônimo

                Encontramos a solução. Na prática é mais uma das mensagens de erro da Oracle que não tem nada a haver com a realidade.

                Em resumo o problema é o seguinte:

                Tenho 1 tabela onde desejo colocar uma check constraint para validar o valor de um campo do tipo NUMBER(13,2).

                CREATE TABLE TAB2(COD_TAB2 NOT NULL,
                COD_TAB1 NOT NULL,
                VALOR NUMBER(13,2) NOT NULL
                CONSTRAINT TAB1_CK
                CHECK (VALOR BETWEEN ‘0,01’ AND ‘99999,99’))

                Na execução do comando DDL acima não ocorre erro.

                Porém, ao criar a FK relacionando a TAB2 com a TAB1, ocorria o erro abaixo:

                “ORA-00604: ocorreu um erro no nível 1 SQL recursivo ORA-01722: número inválido”

                Estávamos executando o seguinte comando:

                ALTER TABLE TAB2 ADD CONSTRAINT TAB2_FK FOREIGN KEY (COD_TAB1) REFERENCES TAB1;

                Obs: a tabela TAB1 foi criada antes, claro.

                Pois eh…após várias marretadas, nos deparamos com os valores da CHECK que mencionamos acima na TAB2.

                Modificamos ‘,’ por ‘.’. Ou seja, VALOR BETWEEN ‘0.01’ AND ‘99999.99’.

                Pronto. Executamos a criação da FK novamente e funcionou.

                Ou seja, pra mim é um erro cuja mensagem não tem nada a haver. Se fosse pra dar erro deveria ocorrer no momento de criação da tabela.

                Blz.

                Em qualquer caso, valew.

                Até a próxima!!!

                #84771
                David Siqueira
                Participante

                  Cara isso é erro de NLS Parameters, provavelmente seus parametros estão setados para linguagem em português, e onde você estava realizando a tarefa deveria estar em inglês, os terminadores são diferentes mesmo, um responde por “.” e o outro por “,”, verifique se é isso mesmo, e post aqui pra que possamos saber melhor o que rolou.

                  abcs.

                  #84776
                  Anônimo

                    Enão…no servidor está definido como “.” e estávamos colocando “,”
                    Infelizmente não temos acesso a este parametro NLS.

                    #84778
                    David Siqueira
                    Participante

                      Ok!.bem problema sanado, vamos para a próxima.
                      Boa sorte!!!
                      Abraço!!!!

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