Resolvido: Como fazer Triggers no MySQL ???

Moderador: virtuaserver

Resolvido: Como fazer Triggers no MySQL ???

Mensagempor jfbransou » Ter Ago 05, 2008 4:57 pm

Senhores, como faço para criar Triggers no phpMyAdmin??

Estou tentando executar via comandos, mas está dando erro. Já tentei alterar o "delimitador", mas mesmo assim nao estou conseguindo.

O Exemplo abaixo não funciona:


CREATE TRIGGER ordemdeservico_after_ins_tr AFTER INSERT ON ordemdeservico
FOR EACH ROW
BEGIN
SET @IDSTATUS = (SELECT manutencao.IDSTATUS FROM manutencao WHERE manutencao.IDMANUTENCAO = NEW.IDMANUTENCAO);
IF (@IDSTATUS <> 2) THEN
UPDATE manutencao set manutencao.IDSTATUS = '2' WHERE manutencao.IDMANUTENCAO = NEW.IDMANUTENCAO;
END IF;
END;

Alguem pode me ajudar?
Editado pela última vez por jfbransou em Sex Ago 15, 2008 11:23 pm, em um total de 1 vez.
jfbransou
 
Mensagens: 3
Registrado em: Ter Ago 05, 2008 4:47 pm

Mensagempor virtuaserver » Sáb Ago 09, 2008 11:43 am

Qual a mensagem de erro recebida?
virtuaserver
 
Mensagens: 122
Registrado em: Qua Jul 20, 2005 7:03 pm

Mensagempor jfbransou » Qui Ago 14, 2008 9:15 pm

Por exemplo:

CREATE TRIGGER `garantias_after_ins_tr` AFTER INSERT ON `garantias`
FOR EACH ROW
BEGIN
SET @IDMANUTENCAO = (SELECT manutencao.IDMANUTENCAO FROM ordemdeservico,manutencao,orcamento,garantias WHERE ordemdeservico.IDOS = orcamento.IDOS AND ordemdeservico.IDMANUTENCAO = manutencao.IDMANUTENCAO and orcamento.IDORCAMENTO = new.IDORCAMENTO);
SET @IDSTATUS = (SELECT manutencao.IDSTATUS FROM manutencao WHERE manutencao.IDMANUTENCAO = @IDMANUTENCAO);
IF(@IDSTATUS <> 10) THEN
UPDATE manutencao set manutencao.IDSTATUS = '10' WHERE manutencao.IDMANUTENCAO = @IDMANUTENCAO;
END IF;
END;

Apresenta o Seguinte Erro:

Erro

Mensagens do MySQL : Documentação
#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 'SET @IDMANUTENCAO = (SELECT manutencao.IDMANUTENCAO FROM ordemdeservico,manutenc' at line 4
jfbransou
 
Mensagens: 3
Registrado em: Ter Ago 05, 2008 4:47 pm

Triggers Mysql no phpMyAdmim...

Mensagempor jfbransou » Sex Ago 15, 2008 11:10 pm

Pessoal, tentei de várias formas crias minhas triggers por completo utilizando o phpMyAdmim, mas ao que tudo parece, ele nao consegue interpratar todos os comandos com sucesso. Estava dando problemas na hora de setar variavies (SET @var = ....)

Para conseguir criar as triggers fiz o seguinte: acessei o servidor linux via ssh (putty). Me loguei no Mysql. Alterei o delimitardor de ; para | ... E ai pronto! Foi só alegria. Agradeço a todos pela atenção.

JF Brandão.
jfbransou
 
Mensagens: 3
Registrado em: Ter Ago 05, 2008 4:47 pm


Voltar para Linux, Apache, Mysql e PHP (LAMP)

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron