sexta-feira, 19 de fevereiro de 2010

TRIGGER NO MYSQL

Desenvolvi um sistema php utilizando PHPMaker 6 para me auxiliar no trabalho. Porém o PHPMaker torna o trabalho de personalização do código um pouco complicado exigindo assim um grande conhecimento do mesmo. Foi daí que me surgiu a possibilidade de utilização de TRIGGER. Pois bem, pesquisei um pouco e utilizando o Navicat for MySQL inseri o trigger que funcionou redondinho!

Abaixo segue a codificação dentro deste Trigger.

BEGIN

DECLARE A INT DEFAULT 0;

DECLARE B INT DEFAULT 0;

UPDATE ordem_producao SET QTDE_REST = QTDE_REST + new.QTDE WHERE ordem_producao.idORDEM_PRODUCAO = new.idORDEM_PRODUCAO;

SET A = (SELECT QTDE_REST FROM ordem_producao Where ordem_producao.idORDEM_PRODUCAO = new.idORDEM_PRODUCAO);

SET B = (SELECT QTDE FROM ordem_producao Where ordem_producao.idORDEM_PRODUCAO = new.idORDEM_PRODUCAO);

IF A>=B THEN

UPDATE ordem_producao SET ABERTA_FECHADA = 1 WHERE ordem_producao.idORDEM_PRODUCAO = new.idORDEM_PRODUCAO;

END IF;

END