1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como fazer Trigguers com "Delete" usando 3 tabelas no MYSQL

Olá pessoal, Como Realizar Trigger com "Before Delete"!? não esta alterando a quantidade do item na tabela estoque,possuo 3 tabelas envolvidas na query, os dados são;

PRODUTO                    NF_CABECALHO         NF_DETALHES

cod_produto                numero_nf_cab        numero_nf_cab
cod_unidade                cod_fornecedor       cod_produto
cod_fornecedor             vlr_total_nf_cab     vlr_unitario_nf
estoque_produto            Tipo_pagamento       qtd_item
descricao_produto

Estou tentando fazer uma trigger (MYSQL) que, no momento em que eu deletar uma nota fiscal(com os dados acima) o valor da quantidade de cada item retorne e some com o campo "ESTOQUE DO PRODUTO"

TENTATIVA COM ESSA TRIGGUERS

USE `evelyn_ti`;
DELIMITER $$

CREATE TRIGGER `DELETE_NF` BEFORE DELETE ON `nfe_det` FOR EACH ROW
-- Edit trigger body code below this line. Do not edit lines above this one
BEGIN
    UPDATE produto SET ESTOQUE_PRODUTO = ESTOQUE_PRODUTO - nfe_det.qtd_item
    WHERE old.COD_PRODUTO = OLD.COD_PRODUTO;
end

QUERY PARA EXCLUSÃO:

"DELETE FROM nfe_det, nfe_cab\n" +
"    USING nfe_det\n" +
"    INNER JOIN nfe_cab \n" +
"    WHERE nfe_det.numero_nf_cab = nfe_cab.numero_nf_cab\n" +
"    AND nfe_det.numero_nf_cab=?"
  • Everton e qual o problema que voce esta tendo?

    tironinho   09 de abr de 2015
  • Fazendo o teste descobri que a trigguer não estão sendo ativada por causa da query, o que será qUE está errado? eu excluo os itens normalmente,de eu excluir em apenas uma tabela a trigger dispara normalmente mas as 2 usando inner join nãopq?

    Everton A.   10 de abr de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags mysql java java-ee estrutura-de-dados transações ou faça a sua própria pergunta.