Ir para conteúdo
Fórum Script Brasil
  • 0

Erro numa simples Trigger


Sidinelson10

Pergunta

Olá turma , eu estou querendo criar uma simples trigger no phpMyAdmin mas aconteçe o seguinte erro .

**Primeiro eu vou lá no link da trigger e click sobre ele.

**Segundo eu coloco o nome da trigger

**Terceiro digo qual é a tabela BLM

** Quarto digo que é uma AFTER e depois que também é um INSERT

coloco o simples código que é esse

FOR EACH ROW BEGIN

IF NEW.blmtipo = "I" THEN

INSERT INTO BLX SET blxoperacao ="1";

END ;

ai ele da o seguinte erro .

MySQL Output: 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 4

ele monda toda a minha trigger que é essa

CREATE TRIGGER qualyfit1.trigger_atualizardados AFTER INSERT ON qualyfit1.BLM

FOR EACH ROW BEGIN

IF NEW.blmtipo = "I" THEN

INSERT INTO BLX SET blxoperacao ="I";

END ;

mim ajudem

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

meu código é esse, o inser que eu vejo na internet é esse pra inserir se você souber outro poderia mim explicar

O CÒDIGO

DELIMITER |

CREATE TRIGGER trigger_atualizardados AFTER INSERT ON BLM

FOR EACH ROW

BEGIN

IF (NEW.blmtipo) = I THEN

INSERT INTO BLX SET blxcodigo=NEW.blmcodmusica , blxcnpj=0 ,blxtipo=M , blxoperacao =I ,blxdata= NOW()

END IF

ELSE

IF (NEW.blmtipo) = U THEN

INSERT INTO BLX SET blxcodigo=NEW.blmcodmusica , blxcnpj=0 ,blxtipo=M , blxoperacao =U ,blxdata= NOW();

END IF

END;

|

DELIMITER

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, 'Sidinelson10'

Para a criação de uma STORAGE PROCEDURE, STORAGE FUNCTION ou TRIGGER é necessário trocar o caracter de término de linha (ponto e vírgula) por outro. Pois o (ponto e vírgula) é utilizado dentro do TRIGGER, SP ou SF para sinalizar o término de linha dos comandos dentro da TRIGGER, SP ou SF.

Assim, seu código ficaria tal como o abaixo:

DELIMITER $$;

DROP TRIGGER `qualyfit1`.`trigger_atualizardados`$$

CREATE TRIGGER `qualyfit1`.`trigger_atualizardados` AFTER INSERT ON `qualyfit1`.`BLM` 
for each row BEGIN
   IF NEW.blmtipo = "I" THEN 
      INSERT INTO BLX SET blxoperacao ="I";
   END;
END;
$$

DELIMITER;$$

Nota: Apesar de você ter usado uma instrução insert permitida pelo MySQL, sugiro veementemente que você opte pela sitaxe exibida pelo 'marlonCampos'. Ela é mais correta e mais difundida.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...