vostro 0 Denunciar post Postado Outubro 18, 2012 Olá, Estou construindo um Trigger e nela estou usando um IF para detectar uma determinada situação através de um Select, para depois executar um Update em campo de uma tabela, mas infelizmente isto não esta funcionando, e estou sem entender por que não esta funcionando se alguém puder me ajudar agradeço, segue abaixo a Trigger: ########## DELIMITER $$ CREATE TRIGGER `user_control` AFTER INSERT ON `cdr` FOR EACH ROW BEGIN SET ramal = NEW.src; IF ((SELECT sum(billsec) as Seg FROM asteriskcdrdb.cdr C JOIN asterisk.users U ON C.src = U.name WHERE U.context = 'perfil1' and C.src = NEW.src GROUP BY C.src) > 100 ) THEN SET ramal = NEW.src; UPDATE asterisk.users U SET U.context = 'perfil2' WHERE U.context = 'perfil1' and C.src = @ramal; INSERT INTO asteriskcdrdb.tbl_auditoria (new_context) VALUES (NEW.src); END IF; END$$ DELIMITER ; ########## Já fiz alguns testes, tipo: 1) trocando a query que esta dentro do IF (SELECT ...), por uma query simples, ou seja, apenas comparando o valor recebido pelo NEW.src e funcionou normal. 2) executei a query que esta dentro do IF e funciona normalmente, ou seja, traz um valor maior do que 100, mas colocando na Trigger não funciona. Alguém poderia me dar a solução ou alguma dica do que esta errado ? Desde agradeço a atenção. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
DiegoAngra07 21 Denunciar post Postado Outubro 18, 2012 Boa tarde amigo, Tenta declarar uma variável INT pra receber o resultado do SELECT e depois usar ela no IF. Só pra ver se muda algo. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites