Ir para conteúdo

POWERED BY:

Arquivado

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

lucasgn

Trigger verificar Inserir e Update ao mesmo tempo?

Recommended Posts

Segue a questão:

 

Faça uma trigger na tabela detalhepedido que, ao inserir ou alterar um detalhe, faça a correção dos valores de estoque na tabela produto.

 

Que eu tenha pesquisado e que eu saiba so da pra fazer a trigger disparar com 1 evento... exemplo

 

create trigger exnumero4 before insert on tb_detalhespedido for each row

begin

end

 

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

... insert or update on ...

 

Tentei aqui no mysql mas nao roda:

 

create trigger Numero4 before insert or before update on tb_detalhespedido

for each row

begin

update tb_produto set unidadesemestoque = (unidadesemestoque-new.quantidade) where idproduto=new.produto_idproduto;

end

 

Pelo que parece é impossivel fazer tal implementação no Mysql como podem ver no link

 

http://www.java2s.com/Tutorial/MySQL/0260__Trigger/Catalog0260__Trigger.htm

 

Vou ter de mudar para o Sql Server antes do que pensei,

 

podem me indicar um link para baixa-lo? meu sistema é windows 7 64 bits,

 

agradeço desde ja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite amigo,

 

É isso mesmo uma restrição do MySQL.

 

Sugestão: Crie uma Stored Procedure com o que precisa ser feito pela Trigger. Aí você chama esta Procedure de dentro das duas Triggers (BEFORE INSERT e BEFORE UPDATE). Sendo assim, se tu precisar dar manutenção nessa rotina algum dia, fará apenas na Procedure, ao invés de ter que fazer 2 vezes em cada Trigger. Apenas uma dica =]

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq simplesmente não cria duas triggers? A parada é academica, não esta buscando performance ou otimização de código. Será bem mais simples resolver.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o professor pede uma tarefa impossível fazer UMA trigger , será que ele não conhece a restrição do BD ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o professor pede uma tarefa impossível fazer UMA trigger , será que ele não conhece a restrição do BD ?!

 

Pq? Os professores não podem se enganar? :P

Mas essa é a minha interpretação da questão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, no fim das contas serão duas Triggers de qualquer jeito. A minha sugestão da Procedure é para que caso seja necessário alterar a rotina, não tenha que fazer 2 vezes.

 

Eu sempre busquei adaptar as situações acadêmicas para o que seria melhor profissionalmente também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq? Os professores não podem se enganar? :P

Mas essa é a minha interpretação da questão.

 

Tanto podem que se enganam ...

 

Eu no lugar do mestre diria :

"isto foi para forçar vocês a pesquisarem mais sobre a ferramenta" ... :)

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.