Jump to content
Fórum Script Brasil
  • 0

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


Franklin Oliveira

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...