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

Dúvida na hora inserir dados em tabelas que têm foreign key


Franklin Oliveira

Pergunta

pessoal minha duvida é a seguinte, tenho uma tabela funcionario e uma tabela contato_funcionario, faço insert na tabela funcionario com dados sem pane, porem não consigo inserir os dados na table contato_funcionario devido ela conter uma foreign key, e eu não sei e não entendi na aula como chamar o dado inserido na tabela funcionario para table contato_funcionario por isso não consigo inserir os dados na segunda tabela, alguém pode me ajudar?

create table funcionario(

fun_codigo serial not null,

fun_nome varchar(54) not null,

fun_sal_base numeric(16,2) not null,

fun_dt_nasc date not null,

fun_perc_comissao numeric(16,2) notnull,

constraint pk_funcionario primary key (fun_codigo));

insert into funcionario(fun_nome,fun_sal_base,fun_dt_nasc,fun_perc_comissao) values ('franklin',1200,'1111-02-01','00000000000',7.0);

--esse primeiro insert inseri legal, a duvida é na segunda tabela, como ficaria o insert na tabela contato_funcionario que contem a foreign key

create table contato_funcionario(

ccfun_codigo serial not null,

cfun_fun_codigo integer not null,

cfun_tcel integer not null,

constraint pk_contato_funcionario primary key (cfun_codigo),

constraint fk_contato_funcionario foreign key (cfun_fun_codigo) references funcionario(fun_codigo));

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá Franklin,

Para que você insira os registros na tabela contato_funcionario você deverá informar para qual funcionário, isto ele já existente na tabela funcionario, caso contrário, irá ser barrado pela constraint.

Ex: Quando você inserir o funcionário 'franklin' o serial fun_codigo gerou um código, este código que você irá utilizar para inserir na tabela contato_funcionario.

Espero ter lhe sido útil, abraços.

_ _

Fabiano Abreu

Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL.

Link para o comentário
Compartilhar em outros sites

  • 0
Olá Franklin,

Para que você insira os registros na tabela contato_funcionario você deverá informar para qual funcionário, isto ele já existente na tabela funcionario, caso contrário, irá ser barrado pela constraint.

Ex: Quando você inserir o funcionário 'franklin' o serial fun_codigo gerou um código, este código que você irá utilizar para inserir na tabela contato_funcionario.

Espero ter lhe sido útil, abraços.

_ _

Fabiano Abreu

Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL.

Grato, Fabiano Abreu...

Minha duvida, era que eu pensava que o dado inserido na table funcionario iria migrar automaticamente para table contato_funcionario onde na verdade eu mesmo tenho que inserir o codigo de funcionario e o banco só vaculhará para ver se esse funcionario já esta cadastrado no banco!!

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...