Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

giovanini

trigger

Recommended Posts

Boa noite pessoal.

Estou com uma dúvida aqui. Tenho um banco com as tabelas associado, dependente, endereco e participa_grupo.

 

Associado possui chaves estrangeiras com endereco e as outras classes tem chaves estrangeiras com a associado.

 

Fiz um trigger before delete on associado for each row, pra que antes de apagar uma linha do associado, apague tbm nas outras tableas..

não sei se isso que quero fazer dá certo com o uso do trigger, por isso peço a ajuda de vocês.

 

Segue o trigger que fiz:

DELIMITER $
CREATE TRIGGER `t_bef_del_Associado`
BEFORE DELETE ON ASSOCIADO
FOR EACH ROW
BEGIN
	DELETE FROM DEPENDENTE WHERE cpf_dependente = old.cpf_associado;
	DELETE FROM ENDERECO WHERE (cep = old.Acep AND
								rua = old.Arua AND
								numero = old.Anumero AND
								complemento = old.Acomplemento);
	DELETE FROM PARTICIPA_GRUPO WHERE cpf_pg = old.cpf_associado;
END;
$

Quando tento dar o comando,

delete from ASSOCIADO where cpf_associado='231.512.512-70';
recebo uma mensagem de erro de que não é possível apagar por causa das chaves estrangeiras... creio eu que meu trigger não está funcionando, certo?

 

Queria a ajuda de vocês sobre isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Motta, obrigado pelo tempo em me responder...

 

Tenho conhecimento do "ON DELETE CASCADE" para as tabelas mas realmente não tinha pensado que o trigger que fiz era basicamente a mesma coisa que isso.

A verdade é que preciso fazer um trigger como exemplo de uso no meu BD para uma disciplina na faculdade e havia pensado nesse, mas com o que você apontou não tem porque de faze-lo.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.