Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
AMB

preencher foreign key de forma automática???

Recommended Posts

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....

Share this post


Link to post
Share on other 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...?

Share this post


Link to post
Share on other 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???

Share this post


Link to post
Share on other 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."

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.