ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

ajuda em trigger

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
perdiga
Novato
Novato


Registrado: Quarta-Feira, 8 de Março de 2006
Mensagens: 86

MensagemEnviada: Ter Dez 12, 2006 10:58 am    Assunto: ajuda em trigger Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
amauri1966
Novato
Novato


Registrado: Segunda-Feira, 26 de Junho de 2006
Mensagens: 28

MensagemEnviada: Ter Dez 12, 2006 12:15 pm    Assunto: Re: ajuda em trigger Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB