InSoNiA 0 Denunciar post Postado Agosto 8, 2008 Olá pessoal, estou fazendo alguns testes aqui com triggers, garaças a essa maravilha que foi implementada na versão 5 do MySQL, porém já li algumas dicas e tutoriais e não encontrei o que preciso. A situação é a seguinte: Tenho uma SUBCATEGORIA de produtos e ao excluir esta SUBCATEGORIA deverão ser excluidos todos os produtos a ela RELACIONADOS. Dessa forma usei um BEFORE para que todos os produtos sejam apagados antes de que a subcategoria seja APAGADA. Fiz assim: CREATE TRIGGER tr_sub1 BEFORE DELETE ON subcategorias FOR EACH ROW BEGIN DELETE FROM produtos WHERE produtossubcategorias_id = 1; END Observem que onde está 1 coloquei para fazer um teste onde deu CERTO, porém o que preciso ai é passar o ID da subcategoria que SERÁ deletada. Caso não seja possível pegar a categoria que será DELETADA posso usar um AFTER e pegar o ID da última SUBCATEGORIA que foi deletada. Espero ter sido claro em minha colocação e espero que isso seja possível. Abs, InSoNiA P.S.: Gostaria de fazer uma indicação aqui sobre o Workbench, trabalhei por muito tempo com MySQl de forma não tão aprofundada, e agora com projetos mais robustos busquei e encontrei esta ferramenta que é realmente uma MÃO NA RODA! Para quem ainda não conhece aqui fica minha indicação MySQL Compartilhar este post Link para o post Compartilhar em outros sites
InSoNiA 0 Denunciar post Postado Agosto 8, 2008 Pessoal fiz um teste dessa forma: CREATE TRIGGER tr_sub1 BEFORE DELETE ON subcategorias FOR EACH ROW BEGIN DELETE FROM produtos WHERE produtossubcategorias_id = OLD.id; END Alguem pode só confirmar e ver se eu não estou fazendo nada errado, pois não entendi o lance do OLD.id, pois o id que queria passar é o da tabela SUBCATEGORIAS, mas deu certo então sei-la né HUAHUha. Por via das dúvidas é melhor perguntar! Se alguem puder explicar(brevemente) o lance do OLD. Vlw Compartilhar este post Link para o post Compartilhar em outros sites