[firebase-br] RES: RES: Erro Foreign Key

Mazzola valdemar.salviato em sbctrans.com.br
Qua Jun 3 09:54:49 -03 2009


Oi gustavo, a ordem estava invertida mesmo, mas no campo data estava usando
tipo timestamp e não foi de jeito nenhum, ai eu alterei para tipo data e
coloquei na ordem e funcionou perfeitamente...
Cada dia que passa gosto mais do FB pela assistência em que vocês da lista
nos oferece, muito obrigado e parabéns Cantú.

Valdemar Salviato
Auditor - SBC Trans



-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Gustavo Moda
Enviada em: quarta-feira, 3 de junho de 2009 07:59
Para: FireBase
Assunto: Re: [firebase-br] RES: Erro Foreign Key

Olá,

As colunas devem ser informada na criação da FK da mesma forma que foi
criada na PK e na mesma ordem.
As colunas devem ter os mesmos tipos.

Verifique isso.

Abaixo um exemplo que elaborei agora para ilustrar, pk simples e compostas,
fks simples e compostas e relacionamento com 3 tabelas.

/* tabelas */
CREATE TABLE PAIS (
    PAIS_ID       VARCHAR(3) NOT NULL,
    PAIS          VARCHAR(30) NOT NULL
);

CREATE TABLE UF (
    PAIS_ID       VARCHAR(3) NOT NULL,
    UF_ID         CHAR(2) NOT NULL,
    ESTADO        VARCHAR(30)
);

CREATE TABLE LOCALIDADE (
    PAIS_ID       VARCHAR(3) NOT NULL,
    UF_ID         CHAR(2) NOT NULL,
    LOCALIDADE_ID INTEGER NOT NULL,
    LOCALIDADE VARCHAR(100)
);


/* Primary Keys */
ALTER TABLE PAIS ADD CONSTRAINT PK_PAIS PRIMARY KEY (PAIS_ID);
ALTER TABLE UF ADD CONSTRAINT PK_UF PRIMARY KEY (PAIS_ID, UF_ID);
ALTER TABLE lOCALIDADE ADD CONSTRAINT PK_LOCALIDADE PRIMARY KEY
(LOCALIDADE_ID);


/* Foreign Keys */
ALTER TABLE UF ADD CONSTRAINT "FK_UF-PAIS" FOREIGN KEY (PAIS_ID) REFERENCES
PAIS(PAIS_ID);
ALTER TABLE LOCALIDADE ADD CONSTRAINT "FK_LOCALIDADE-PAIS" FOREIGN KEY
(PAIS_ID) REFERENCES PAIS(PAIS_ID);
ALTER TABLE LOCALIDADE ADD CONSTRAINT "FK_LOCALIDADE-ESTADO" FOREIGN KEY
(PAIS_ID, UF_ID) REFERENCES UF(PAIS_ID, UF_ID);


p.s. O ideal é usar dominios, mas aih é outra história.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista