 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
perdiga Novato

Registrado: Quarta-Feira, 8 de Março de 2006 Mensagens: 86
|
Enviada: Ter Dez 12, 2006 10:58 am Assunto: ajuda em trigger |
|
|
Ola pessoal!
Galera seguinte, estou começando agora a aprender um pouco sobre triggers e stored procedure e recentemente no firebird, preciso desenvolver uma trigger mas não sei como fazer, ahh antes de continuar gostaria de pedir para vc's se alguem possuir um material bem explicado sobre plsql enfim especifico para firebird, para que eu consiga executar o que necessito para meu projeto de faculdade e logicamente para aprender que realmente quero, mas nào estou achando nada de materia que explique a respeito...
bom vou explicar como esta a estrutura das minhas tabelas e explicar para vc's o que preciso ok...
vou colocar a tabela pessoa aqui simplificada apenas para entendimento... tenho 3 tabelas Pessoa,Anamnese,anamnese_paciente..
tabela pessoa
ID
Nome
Tabela anamnese
ID
Pergunta
Tabela Anamnese_paciente
ID
Resposta
Pessoa_id
Anamnese_id
essa é a estrutura das tabelas, com a relação da tabela pessoa + anamnese foi gerada a tabela Anamnese_paciente..
o que preciso é o seguinte...
a tabela pessoa guardara obviamente as pessoas cadastradas no banco nesta tabela possuo em campo tipo_pessoa, que identifica se a pessoa é paciente,dentista, fornecedor enfim....importante lembrar disso..
a tabela anamnese, é uma tabela onde eu vou guardar as perguntas que o dentista faz a primeira vez que um paciente vai ao consultorio.... para cada pergunta tem uma resposta S/N que será armazenada na tabela anamnese_paciente...
então olhem só preciso que quando eu cadastrar uma pessoa, mas que seja um paciente ok. como sei se é paciente através do campo tipo-pessoa, então eu teria que verificar antes de executar a trigger acho não sei galera como se faz isso por isso estou colocando meu problema para ver se juntos conseguimos achar a solução ok...
bom então quando eu cadastrar um novo paciente... o banco se encarregaria de fazer o seguinte executar uma trigger creio que no evento da tabela pessoa after post... inserir na tabela anamnese_paciente o codigo do paciente e todas as perguntas da tabela anamnse que não estão adicionadas a esse cara ainda, no caso na primeira vez que cadastrar ele adicona todo o codigo de todas as perguntas na tabela ex
vamos dizzer que acabei de cadastrar o paciente de codigo 5.
e na tabela anamnese tenho 5 perguntas..
ID pergunta
1 perg1
2 perg2
3 perg3
4 perg4
5 perg5
então a tabela anamnese_paciente ficaria assim...
ID RESPOSTA PESSOA_ID ANAMNESE_ID
1 NULL 5 1
2 NULL 5 2
3 NULL 5 3
4 NULL 5 4
5 NULL 5 5
após isso eu poderia mostrar na tela que vou montar, as perguntas que ainda nao foram feitas para tal paciente entenderam, ou mostro todas as perguntas daquele paciente enfim...
bom seria uma triiger que fizesse isso para vc's creio que simples mas para mim nada de simples espero que me ajudem....
so sei que teria que criar um generator, para que incremente o id da tabela anamnse_paciente ou alguma outra forma..
galera qualquer duvida me deem um toque ok..
abraços. |
|
Voltar ao Topo |
|
 |
amauri1966 Novato

Registrado: Segunda-Feira, 26 de Junho de 2006 Mensagens: 28
|
Enviada: Ter Dez 12, 2006 12:15 pm Assunto: Re: ajuda em trigger |
|
|
perdiga escreveu: | Ola pessoal!
Galera seguinte, estou começando agora a aprender um pouco sobre triggers e stored procedure e recentemente no firebird, preciso desenvolver uma trigger mas não sei como fazer, ahh antes de continuar gostaria de pedir para vc's se alguem possuir um material bem explicado sobre plsql enfim especifico para firebird, para que eu consiga executar o que necessito para meu projeto de faculdade e logicamente para aprender que realmente quero, mas nào estou achando nada de materia que explique a respeito...
bom vou explicar como esta a estrutura das minhas tabelas e explicar para vc's o que preciso ok...
aqui no site tem este material.
http://www.activedelphi.com.br/modules.php?op=modload&name=Downloads&file=index&req=getit&lid=321
é bóm eu aprendi os primeiros passos com ele.
boa sorte
vou colocar a tabela pessoa aqui simplificada apenas para entendimento... tenho 3 tabelas Pessoa,Anamnese,anamnese_paciente..
tabela pessoa
ID
Nome
Tabela anamnese
ID
Pergunta
Tabela Anamnese_paciente
ID
Resposta
Pessoa_id
Anamnese_id
essa é a estrutura das tabelas, com a relação da tabela pessoa + anamnese foi gerada a tabela Anamnese_paciente..
o que preciso é o seguinte...
a tabela pessoa guardara obviamente as pessoas cadastradas no banco nesta tabela possuo em campo tipo_pessoa, que identifica se a pessoa é paciente,dentista, fornecedor enfim....importante lembrar disso..
a tabela anamnese, é uma tabela onde eu vou guardar as perguntas que o dentista faz a primeira vez que um paciente vai ao consultorio.... para cada pergunta tem uma resposta S/N que será armazenada na tabela anamnese_paciente...
então olhem só preciso que quando eu cadastrar uma pessoa, mas que seja um paciente ok. como sei se é paciente através do campo tipo-pessoa, então eu teria que verificar antes de executar a trigger acho não sei galera como se faz isso por isso estou colocando meu problema para ver se juntos conseguimos achar a solução ok...
bom então quando eu cadastrar um novo paciente... o banco se encarregaria de fazer o seguinte executar uma trigger creio que no evento da tabela pessoa after post... inserir na tabela anamnese_paciente o codigo do paciente e todas as perguntas da tabela anamnse que não estão adicionadas a esse cara ainda, no caso na primeira vez que cadastrar ele adicona todo o codigo de todas as perguntas na tabela ex
vamos dizzer que acabei de cadastrar o paciente de codigo 5.
e na tabela anamnese tenho 5 perguntas..
ID pergunta
1 perg1
2 perg2
3 perg3
4 perg4
5 perg5
então a tabela anamnese_paciente ficaria assim...
ID RESPOSTA PESSOA_ID ANAMNESE_ID
1 NULL 5 1
2 NULL 5 2
3 NULL 5 3
4 NULL 5 4
5 NULL 5 5
após isso eu poderia mostrar na tela que vou montar, as perguntas que ainda nao foram feitas para tal paciente entenderam, ou mostro todas as perguntas daquele paciente enfim...
bom seria uma triiger que fizesse isso para vc's creio que simples mas para mim nada de simples espero que me ajudem....
so sei que teria que criar um generator, para que incremente o id da tabela anamnse_paciente ou alguma outra forma..
galera qualquer duvida me deem um toque ok..
abraços. |
|
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|