Ir para conteúdo
Fórum Script Brasil
  • 0

AJUDA!


Luizjr

Pergunta

Boa noite pessoal, tenho um trabalho de faculdade para ser entregue mais ele estar dando erro,

eu criei duas tabelas e depois quero criar uma foreign key de uma pra outra

create table professor(

mat_professor int not null,

nom_professor varchar(50) not null,

rg int null,

cpf int not null,

classificacao varchar(12) null,

rua varchar(50) null,

num_rua int null,

cep int null,

complemento varchar(50) null,

cidade varchar(50) null,

estado char(2) null,

cod_departamento int not null,

constraint pk_professor01 primary key (mat_professor, cpf)

)

create table departamento(

cod_departamento int not null,

nom_departamento varchar(50) not null,

bloco varchar(10) not null,

ramal varchar(10) not null,

mat_professor int not null,

constraint pk_departamento primary key (cod_departamento, nom_departamento),

)

essas são as duas tabelas, dai eu vou dar um alter table

alter table professor

add constraint fk_professor_departamento foreign key (cod_departamento)

references departamento(cod_departamento)

mais da o seguinte erro

Msg 1776, Level 16, State 0, Line 1

There are no primary or candidate keys in the referenced table 'departamento' that match the referencing column list in the foreign key 'fk_professor_departamento'.

Msg 1750, Level 16, State 0, Line 1

Could not create constraint. See previous errors.

como eu faço para consegue compilar ?

já tentem de praticamente tudo e não da certo!

grato desde já!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Boa tarde,

Sua chave primária é composta, para resolver este problema na tabela departamento criar a primary key simples:

constraint pk_departamento primary key (cod_departamento) =

Só com o campo cod_departamento. ai você conseguirá criar a foreign key:

CREATE table departamento(

cod_departamento int not null,

nom_departamento varchar(50) not null,

bloco varchar(10) not null,

ramal varchar(10) not null,

mat_professor int not null,

constraint pk_departamento primary key (cod_departamento)

)

alter table professor

add constraint fk_professor_departamento foreign key (cod_departamento)

references departamento(cod_departamento)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...