Estou com uma dúvida para criar um Trigger no MySql.
- DESCRIÇÃO DAS TABELAS:
Tenho 2 tabelas, que aqui vou chamar de tabela PAI e tabela FILHO.
Para cada registro no PAI podemos ter infinitos FILHOs.
A tabela PAI tem 2 colunas:
- ID (para ligar aos filhos)
- Contador (para contar a quantidade de filhos).
A tabela FILHO tem 2 colunas:
- PAI_ID (para ligar ao pai)
- Texto (um texto qualquer)
- Bloqueado (sim/não)
- DESCRIÇÃO DO PROBLEMA:
Preciso criar um TRIGGER que:
1 - se um registro for inserido na tabela FILHO, então incremente o campo CONTADOR da tabela PAI.
2 - se um registro for excluído da tabela FILHO, então decremente o campo CONTADOR da tabela PAI.
3 - se o campo bloqueado da tabela FILHO for atualizado para sim, então decremente o campo CONTADOR da tabela PAI.
4 - se o campo bloqueado da tabela FILHO for atualizado para não, então incremente o campo CONTADOR da tabela PAI.
Sei como criar um trigger para a tabela FILHO, mas não tenho a mínima idéia de como fazer esse trigger alterar a tabela PAI.
OBS. Só pra constar, eu resolvi usar triggers ao invés de contar tudo numa consulta. É que a tabela filho vai ter milhoes de registros, e acho melhor usar um trigger do que contar os registros cada vez que o usuário atualizar a página.
Pergunta
Rafael Meneghetti
Olá pessoal, sou novo aqui no forum.
Estou com uma dúvida para criar um Trigger no MySql.
- DESCRIÇÃO DAS TABELAS:
Tenho 2 tabelas, que aqui vou chamar de tabela PAI e tabela FILHO.
Para cada registro no PAI podemos ter infinitos FILHOs.
A tabela PAI tem 2 colunas:
- ID (para ligar aos filhos)
- Contador (para contar a quantidade de filhos).
A tabela FILHO tem 2 colunas:
- PAI_ID (para ligar ao pai)
- Texto (um texto qualquer)
- Bloqueado (sim/não)
- DESCRIÇÃO DO PROBLEMA:
Preciso criar um TRIGGER que:
1 - se um registro for inserido na tabela FILHO, então incremente o campo CONTADOR da tabela PAI.
2 - se um registro for excluído da tabela FILHO, então decremente o campo CONTADOR da tabela PAI.
3 - se o campo bloqueado da tabela FILHO for atualizado para sim, então decremente o campo CONTADOR da tabela PAI.
4 - se o campo bloqueado da tabela FILHO for atualizado para não, então incremente o campo CONTADOR da tabela PAI.
Sei como criar um trigger para a tabela FILHO, mas não tenho a mínima idéia de como fazer esse trigger alterar a tabela PAI.
OBS. Só pra constar, eu resolvi usar triggers ao invés de contar tudo numa consulta. É que a tabela filho vai ter milhoes de registros, e acho melhor usar um trigger do que contar os registros cada vez que o usuário atualizar a página.
Alguém aí discorda dessa análise que fiz?
Agradeço desde já a ajuda.
Abraço.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.