Ir para conteúdo

POWERED BY:

Arquivado

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

Loid

Evitar delete com trigger

Recommended Posts

Pessoal tudo joia, o seguinte,

 

Andei pesquisando e só conseguir chegar ate o

 

CREATE TRIGGER naoDeleta BEFORE DELETE ON tabela

FOR EACH ROW

BEGIN

//Não sei oque colocar aqui

END
ex:

Se houver a tentativa de excluir o campo A, e se o campo A existir na tabela, ele não poderá ser excluído, me sugeriram usar procedure, mas se usar trigger acho que ficaria algo mais consistente, fechado, pois com trigger so vai valer se for chamada a trigger, bom passou agora pela minha cabeça, a solução seria usar trigger e procedure?

Mas não sei oque colocar entre o begin e o end para evitar que o comapo seja excluido caso exista na tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal tudo joia, o seguinte,

 

Andei pesquisando e só conseguir chegar ate o

 

CREATE TRIGGER naoDeleta BEFORE DELETE ON tabela

FOR EACH ROW

BEGIN

//Não sei oque colocar aqui

END
ex:

Se houver a tentativa de excluir o campo A, e se o campo A existir na tabela, ele não poderá ser excluído, me sugeriram usar procedure, mas se usar trigger acho que ficaria algo mais consistente, fechado, pois com trigger so vai valer se for chamada a trigger, bom passou agora pela minha cabeça, a solução seria usar trigger e procedure?

Mas não sei oque colocar entre o begin e o end para evitar que o comapo seja excluido caso exista na tabela

Cara, como assim, "campo A"?!??!

 

Poderia explicar melhor??

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, para simplificar, seria evitar que um registro em uma determinado campo de uma tabela seja apagado usando uma trigger.

 

Porque estava fazendo uma bd com chave estrangeiras e usando ON DELETE CASCADE, entre duas tabelas, pessoa e tipoPessoa, ate aí tudo ok, quando apaga ele fazia o cascade normal, porém quando eu relacionava pessoa a uma terceira tabela, ele não me deixava apagar por causa da chave estrangeira, falando que uma filha não pode ser apagada porque o pai ainda existe, "Espero que esteja correto esta fala".

 

//Mensagem

 DELETE FROM `corregedoria`.`pessoa` WHERE `pessoa`.`IdPessoa` =1 LIMIT 1

Mensagens do MySQL : Documentação
#1451 - Cannot delete or update a parent row: a foreign key constraint fails (`corregedoria`.`avp`, CONSTRAINT `avp_ibfk_1` FOREIGN KEY (`TipoPessoa_IdTipoPessoa`) REFERENCES `tipopessoa` (`IdTipoPessoa`))

Bom até tudo ok, mas quando eu ia direto na tabela avp, que estava relacionada a pessoa ele permitia apgar, era isso que eu queria impedir, de chegar direto na tabela avp e poder apagar, bom estava querendo fazer isso usando uma trigger, ..''Before delete", porém, parece que a relaçãoe esta certa, pois é possivel apagar uma pessoa apenas se ela não estiver relacionada com avp, ou seja o caminho inverso.

 

avp<-tipoPessoa<-Pessoa..

 

Bom acho que é isso...value.

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.