Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal! tudo certo?
Preciso de uma pequena ajuda de vocês!
Tenho um banco de dados onde contém a tabela "Motorista". Nela, existem os campos "codEmpresa" (referenciada como chave a tabela principal "Empresa") e "lider" (campo do tipo BIT) que devemos analisar. Como mostra abaixo:
/applications/core/interface/imageproxy/imageproxy.php?img=http://s13.postimg.org/8f68qgmgn/banco.jpg&key=64e6c4e321488dc163f37f932cfb90a6d8e7f1d2c1cd26ae58544ab3c268b717" alt="banco.jpg" />
Preciso criar uma TRIGGER UPDATE que faça a seguinte condição:
Para isso estava tentando criar uma TRIGGER AFTER UPDATE, como mostra abaixo:
[inline]USE `tms`;
DELIMITER $$
CREATE DEFINER=root@% TRIGGER tg_lider_unico_update AFTER UPDATE ON tms.motorista
FOR EACH ROW
BEGIN
IF EXISTS (SELECT m.lider FROM tms.motorista m, NEW WHERE m.codEmpresa = NEW.codEmpresa GROUP BY m.codEmpresa HAVING SUM(m.lider) > 1) THEN
SET NEW.lider = 1;
SET OLD.lider = 0;
END IF;
END[/inline]
Talvez tenha errado feio em como fazer, mas dessa maneira não funciona! Porque "NEW" não é suportado por AFTER UPDATE e se for fazer por BEFORE UPDATE, é acusado que "OLD" não é suportado.
Como solucionar?
Agradeço desde já pela ajuda!
Carregando comentários...