Fórum Criar Chave estrangeira numa tabela com chave primaria composta. #484888

08/07/2014

0

Oi galera, baseado nas tabelas abaixo tenho na segunda tabela (vigencia), 2 chaves primárias onde uma deve referenciar tabela unidadeGestora pelo campo uniaddeGestora da tabela vigencia com ao campo cnpj da tabela unidadeGestora. O problema é como faço na tabela vigencia para ter um FOREIGN KEY(unidadeGestora) REFERENCES unidadeGestora(cnpj) uma vez que na tabela vigencia possui chave primária multipla?

CREATE TABLE unidadeGestora(
cnpj cd_cpfCNPJ NOT NULL PRIMARY KEY,
empresa VARCHAR(80) NOT NULL,
uf VARCHAR(02) NOT NULL,
) WITH (OIDS=FALSE);

/* TABELA ANO DE VIGÊNCIA */
CREATE TABLE vigencia(
ano SMALLINT NOT NULL CHECK (ano > 2000),
unidadeGestora cd_cpfCNPJ NOT NULL,
usuario VARCHAR(50) NOT NULL,
PRIMARY KEY (ano, unidadeGestora),
CONSTRAINT usuario_fk FOREIGN KEY (usuario) REFERENCES usuarios(email)
) WITH (OIDS=FALSE);
Adenes Junior

Adenes Junior

Responder

Post mais votado

08/07/2014

Basta adicionar a seguinte linha no seu DDL acima:

CONSTRAINT fk1 FOREIGN KEY (unidadeGestora) REFERENCES unidadeGestora(cnpj)


Ele vai criar uma chave referenciando unidadeGestora com o campo cnpj, testei aqui e funcionou.

Ronaldo Lanhellas

Ronaldo Lanhellas
Responder

Gostei + 2

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar