- Este tópico contém 4 respostas, 4 vozes e foi atualizado pela última vez 14 anos, 3 meses atrás por
David Siqueira.
-
AutorPosts
-
28 de novembro de 2011 às 10:40 pm #101893
kagohara
ParticipanteEstou 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
28 de novembro de 2011 às 10:57 pm #101896msantino
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 VARCHARAqui 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.
28 de novembro de 2011 às 11:00 pm #101897fabiogalera
ParticipanteVamos 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 =)
28 de novembro de 2011 às 11:32 pm #101898kagohara
Participantedeu 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!29 de novembro de 2011 às 3:31 pm #101911David Siqueira
ParticipanteNenhuma dúvida é boba meu velho, ninguem nasceu sabendo, e estamos aqui para isso mesmo AJUDAR.
Abraço e Parabéns pelo conhecimento adquirido!!!!
-
AutorPosts
- Você deve fazer login para responder a este tópico.