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

      Estou tentando criar esta tabela do postgres no oracle, porem está dando erro. Como posso adapta-lá a ele??

      CREATE TABLE informa
      (
      diag_codigo character varying(5) NOT NULL,
      doen_codigo character varying(5) NOT NULL,
      CONSTRAINT pk_informa PRIMARY KEY (diag_codigo , doen_codigo ),
      CONSTRAINT fk_informa_diag FOREIGN KEY (diag_codigo)
      REFERENCES diagnostico (codigo) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE,
      CONSTRAINT fk_informa_doen FOREIGN KEY (doen_codigo)
      REFERENCES doenca (codigo) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE
      )

      Obrigado

      #101896
      msantino
      Participante

        @kagohara,

        Dá uma olhadinha na documentação do Oracle sobre os data types (http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_7002.htm – nesse último, depois de uns organogramas todos doidos tem uns exemplos, lá no final)

        Basicamente você precisa arrumar a tipagem dos campos.
        Ao invés de character varying use VARCHAR

        Aqui um exemplo da criação com foreign key:
        CREATE TABLE part_order_items (
        order_id NUMBER(12) PRIMARY KEY,
        line_item_id NUMBER(3),
        product_id NUMBER(6) NOT NULL,
        unit_price NUMBER(8,2),
        quantity NUMBER(8),
        CONSTRAINT product_id_fk
        FOREIGN KEY (product_id) REFERENCES hash_products(product_id) ON DELETE CASCADE
        )

        Dá uma olhadinha. Se tiver dúvidas ainda, posta ai.

        #101897
        fabiogalera
        Participante

          Vamos lá, isso é realmente simples de se procurar no Google.

          http://www.google.ca/search?gcx=w&ix=c1 … 66&bih=631

          Para ajudar já:

          VARCHAR2 é a melhor opção para CHARACTERES
          NUMBER é para números …

          para referenciar uma FOREIGN com DELETE CASCADE é do mesmo jeito, “ON DELETE CASCADE” …

          Depois de pesquisar, altere e poste aqui para ajudarmos novamente =)

          #101898
          kagohara
          Participante

            deu certo desta forma:
            CREATE TABLE informa
            ( diag_codigo varchar2(5) NOT NULL,
            doen_codigo varchar2(5) NOT NULL,
            CONSTRAINT pk_informa
            PRIMARY KEY (diag_codigo , doen_codigo ),
            CONSTRAINT fk_informa_diag
            FOREIGN KEY (diag_codigo)
            REFERENCES diagnostico (codigo)
            ON DELETE CASCADE,
            CONSTRAINT fk_informa_doen FOREIGN KEY (doen_codigo)
            REFERENCES doenca (codigo)
            ON DELETE CASCADE
            )

            mudei o datatype (que noobisse a minha huaauhua, nem tinha visto isso) e tirei o on update cascade.
            Vlw pela ajuda pessoal!

            #101911
            David Siqueira
            Participante

              Nenhuma dúvida é boba meu velho, ninguem nasceu sabendo, e estamos aqui para isso mesmo AJUDAR.

              Abraço e Parabéns pelo conhecimento adquirido!!!!

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