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

      Pessoal,

      estou tentando extrair DDL de constraints e nao consigo usando o comando:

      “SELECT DBMS_METADATA.GET_DDL(‘CONSTRAINT’,’FK_XXX’) from user_constraints where…”

      ORA-31603: object “FK_XXX” of type CONSTRAINT not found in schema “YYYYY”
      ORA-06512: at “SYS.DBMS_SYS_ERROR”, line 105
      ORA-06512: at “SYS.DBMS_METADATA”, line 642
      ORA-06512: at “SYS.DBMS_METADATA”, line 1246
      ORA-06512: at line 1

      Pelo erro parece que nao da certo mesmo com o GET_DDL para constraints, é isso mesmo?

      Qual outra saida?

      O BD é 9i 32 bits e usando o sqlplus.

      Obrigado,
      Armando.

      #99908
      diegolenhardt
      Participante

        tem essas informações na dba_constraints e dba_cons_columns

        #99909
        armandoveloso
        Participante

          Entao nao tem como usar GET_DDL mesmo, ne?

          So montando manualmente pelo dicionario.

          #99910
          felipeg
          Participante

            [quote=”armandoveloso”:260hpjkd]Pessoal,

            estou tentando extrair DDL de constraints e nao consigo usando o comando:

            “SELECT DBMS_METADATA.GET_DDL(‘CONSTRAINT’,’FK_XXX’) from user_constraints where…”

            ORA-31603: object “FK_XXX” of type CONSTRAINT not found in schema “YYYYY”
            ORA-06512: at “SYS.DBMS_SYS_ERROR”, line 105
            ORA-06512: at “SYS.DBMS_METADATA”, line 642
            ORA-06512: at “SYS.DBMS_METADATA”, line 1246
            ORA-06512: at line 1

            Pelo erro parece que nao da certo mesmo com o GET_DDL para constraints, é isso mesmo?

            Qual outra saida?

            O BD é 9i 32 bits e usando o sqlplus.

            Obrigado,
            Armando.[/quote]

            Você consegue extrair também as constraints de uma tabela com o get_dependent_ddl.

            Veja se ajuda.
            Exemplo:

            SELECT dbms_metadata.get_dependent_ddl ('REF_CONSTRAINT','') FROM dual;

            Atenciosamente,
            Felipe.

            #99911
            armandoveloso
            Participante

              Felipe, meu amigo, em cheio!!!

              😮

              Deu certo!!!
              Muito Obrigado,
              Armando.

              #99912
              felipeg
              Participante

                [quote=”armandoveloso”:34t0ze09]Felipe, meu amigo, em cheio!!!

                😮

                Deu certo!!!
                Muito Obrigado,
                Armando.[/quote]

                Outra opção colega,


                begin
                dbms_output.put_line((dbms_metadata.get_ddl('REF_CONSTRAINT', '')));
                END;

                Atenciosamente,
                Felipe.

                #99913
                armandoveloso
                Participante

                  Show de bola!

                  Deu certo tb!!!

                  Felipe, mais uma vez, obrigado!
                  Armando

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