Ir para conteúdo
Fórum Script Brasil

Angelbel

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Angelbel

Angelbel's Achievements

0

Reputação

  1. Vlw Stoma, mas o erro persiste... #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO historico (id_produto, qt_ant, qt_nov) VALUES (NEW.id, OLD.qtde, NEW' at line 4
  2. Boa tarde! Acabei de me registrar e to trazendo um tópico q se alguém puder me ajudar agradeço muito! É o seguinte, tenho um BD (Estoque) no qual acabei de criar uma tabela histórico em q são inseridos registros através de uma trigger quando uma outra tabela produto é atualizada. No entanto, gostaria q esses registros fossem inseridos somente quando um campo da tabela produtos fosse atualizado. P isso criei um outro banco q uso como teste e criei as duas tabelas e a trigger a seguir: tb_produto: id int (11) - primary key produto varchar (50) qtde int (4) dt_entrada timestamp tb_historico: dt_mod timestamp - primary key id_produto int (11) qt_ant int (4) qt_nov int (4) Código da Trigger: CREATE TRIGGER atualizaestoque AFTER UPDATE ON produto FOR EACH ROW BEGIN IF OLD.qtde<> NEW.qtde THEN INSERT INTO historico SET id_produto = NEW.id, qt_ant = OLD.qtde, qt_nov = NEW.qtde, END; Erro: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7 Já tentei outras formas e sempre aparece esse erro com a diferença da linha especificada, por exemplo: CREATE TRIGGER atualizaestoque AFTER UPDATE ON produto FOR EACH ROW BEGIN IF OLD.qtde<> NEW.qtde THEN INSERT INTO historico (id_produto, qt_ant, qt_nov) VALUES (NEW.id, OLD.qtde, NEW.qtde) END; Erro: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO historico (id_produto, qt_ant, qt_nov) VALUES (NEW.id, OLD.qtde, NEW' at line 4 Já tentei diversas formas...com END IF da um erro sem especificação, ta dificil...meu SO é Windows XP e to utilizando o phpmyadmin p editar o BD as tabelas e triggers...a idéia ai é quando houver um update na tabela produto verificar se a qtde foi alterada e só então inserir uma linha de histórico para o produto referenciado, o código a baixo funciona perfeitamente, porém é para toda e qualquer atualização na tabela produto independente dos campos alterados. CREATE TRIGGER atualizahistorico BEFORE UPDATE ON produto FOR EACH ROW INSERT INTO historico (id_produto, qt_ant, qt_nov) VALUES (NEW.id, OLD.qtde, NEW.qtde); Preciso do outro jeito, se alguém puder me dar uma luz agradeço muito... Vlw galera!
×
×
  • Criar Novo...