Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Buenas gurizada!
Alguém sabe como criar uma trigger que dê um update em uma tabela antes que o delete seja executado?
Por exemplo:
Tabela 1
------------------
Codigo
Nome
Codigo_Tabela2
Tabela 2
------------------
Codigo
Nome
Quando eu deletar um registro da Tabela 2, que tem referenciamento com a Tabela 1, eu quero que mova todos aqueles registros da Tabela 1 que tiverem atrelados a um registro que está sendo deletado para um registro específico que não poderá ser deletado, que neste caso seria 1.
Eu consegui fazer, mas dessa forma está movendo todos os registros da Tabela 1 para esse registro específico, mas eu quero que mova somente os registros que estão atrelados esse registro da Tabela 2. A Trigger ficou assim:
CREATE TRIGGER deleteCategoryMaterial ON categoriesMaterials AFTER DELETE AS UPDATE materials SET idCategory=1
Obrigado! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
neste tópico tem alguns links: http://forum.imasters.com.br/index.php?s=&...st&p=754187t+
Cara, nenhum dos links me ajudou. Tens uma solução?Valeu! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
>
neste tópico tem alguns links: http://forum.imasters.com.br/index.php?s=&...st&p=754187t+
Cara, nenhum dos links me ajudou. Tens uma solução?Valeu! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Putz leu todos???? rápido hein..., postei 15:30 e 15:41 tu respondeu que nenhum ajudou?... tenta ler com atenção e calma que com ctz as coisas vão clarear .... dai se mesmo assim tiver alguma dúvida retorna aeabst++
>
>
neste tópico tem alguns links: http://forum.imasters.com.br/index.php?s=&...st&p=754187t+
Cara, nenhum dos links me ajudou. Tens uma solução?Valeu! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Putz leu todos???? rápido hein..., postei 15:30 e 15:41 tu respondeu que nenhum ajudou?... tenta ler com atenção e calma que com ctz as coisas vão clarear .... dai se mesmo assim tiver alguma dúvida retorna aeabst++
:lol: hahahahahaha... então tu acha que eu to mentindo? Cara, eu já pesquisei antes de tu responder e coincidentemente já tinha passado pelos links que você indicou e realmente nenhum tem um exemplo do que eu preciso. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Se puder me ajudar agradeceria enormemente!
Cara, eu consegui chegar nisso:
CREATE TRIGGER deleteCategoryMaterial ON categoriesMaterials AFTER DELETE AS UPDATE materials SET idCategory=1 WHERE idCategory IN ((SELECT 0 FROM DELETED))
A lógica aparentemente está certa, mas não rolou. Sabe me dizer se tiver um índice entre essas tabelas funciona sem problema? Porque ele vai, na verdade, deletar um registro né. E se tem índice, ele não deleta.
Desde já agradeço!
>
:lol: hahahahahaha... então tu acha que eu to mentindo? Cara, eu já pesquisei antes de tu responder e coincidentemente já tinha passado pelos links que você indicou e realmente nenhum tem um exemplo do que eu preciso. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Se puder me ajudar agradeceria enormemente!
não acho nada, só fiz uma pergunta, pois você não disse antes que coincidentemente tinha lido todos os links que passei, mas vamos concentrar no problema, tenta trocar o** select 0 **por **select idCategory**, pois se deixar fixo zero sempre vai fazer update na chave 0 isso se ela existir, então pelo contexto ai acredito que deva ser usado a(s) chave(s) do(s) registro(s) deletado(s) que fica(m) na tabela temporária DELETED, conforme explicam os links acima:
CREATE TRIGGER deleteCategoryMaterial ON categoriesMaterials AFTER DELETE AS UPDATE materials SET idCategory=1 WHERE idCategory IN ((SELECT idCategory FROM DELETED))t++
neste tópico tem alguns links: http://forum.imasters.com.br/index.php?s=&...st&p=754187
t+