Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

AMB

preencher foreign key de forma automática???

Mensagens Recomendadas

AMB

Bom dia

Gostaria de saber se é possível e como preencher uma foreign key de forma automática.

Tenho uma tabela paciente (com Pat_Id como primary key) e uma tabela exame (com Exam_Id primary key e Pat_Id como foreign key).

Sendo que um paciente pode ter varios exames....

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mribeiro

Não tens outro remédio que dar a Pat_Id à tabela exame. No entanto podes preenche-la na própria tabela exame através de uma sequência, mas certamente irás ter inconsistência de dados com isso.

O que te aconselho é:

Defines uma sequências para a tabela Paciente para a coluna Pat_ID

e na tabela exame pões "à mão" o valor na Pat_Id

Eu não estou bem é a perceber onde é que vais utilizar isto...

É num programa em Java, PHP, C#, etc...?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AMB

Sim é para utilizar num programa em Java, por isso, construir à mão não vai resultar...

Já estive a pensar foi do tipo, sempre que outro parametro (nr_p) que é comum às duas tabelas, e sempre que este parametro tiver o mesmo valor o Pat_Id ser igual, mas não sei como fazer isso :s

é possivel assim???

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

O que o  mribeiro disse está correcto: quando escreves o registo, o valor da foreign key é apenas mais um valor que passas na escrita do registo. Fazes isso de forma manual. Só conseguirás fazer um automatismo se tiveres uma forma automática de descobrir o valor da foreign key e usares isso num trigger.

Sim é para utilizar num programa em Java, por isso, construir à mão não vai resultar...

E porquê?

É essa a forma correcta de fazer, porque é que achas que o teu caso é especial?

Já estive a pensar foi do tipo, sempre que outro parametro (nr_p) que é comum às duas tabelas, e sempre que este parametro tiver o mesmo valor o Pat_Id ser igual, mas não sei como fazer isso :s

é possivel assim???

Seja qual for a artimanha que inventes, tens de saber qual o valor do campo da foreign key quando vais escrever o registo (a menos que não seja obrigatório).


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.