Loid 0 Denunciar post Postado Março 9, 2009 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 ENDex: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
Wagner Bianchi 0 Denunciar post Postado Março 12, 2009 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 ENDex: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
Loid 0 Denunciar post Postado Março 13, 2009 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