Ошибка запуска MySQL при объявлении - PullRequest
0 голосов
/ 20 мая 2018

Я пытаюсь создать триггер, но я получаю эту ошибку после выполнения SQL;

1064 - у вас есть ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с 'DECLARE temp INT' в строке 4

Вот мой триггер:

CREATE TRIGGER hesap 

AFTER INSERT ON uber  

 DECLARE temp INT;

 BEGIN    IF uber.il='ANKARA' THEN 
  temp=5+(uber.mesafe*0.5);  

 ELSEIF uber.il='ISTANBUL' THEN  
 temp=10+(uber.mesafe*0.5);   

ELSEIF uber.il='IZMIR' THEN  
 temp=3+(uber.mesafe*0.5);  

 END IF; 

INSERT INTO fatura VALUES(uber.uid,temp)

END;

1 Ответ

0 голосов
/ 20 мая 2018

Существует некоторая синтаксическая ошибка, как я обнаружил, проверьте следующий код:

delimiter $$
CREATE TRIGGER hesap 
AFTER INSERT ON uber FOR EACH ROW 
BEGIN 

DECLARE temp integer;

    IF new.il = 'ANKARA' THEN
        temp= 5+(uber.mesafe*0.5);
    ELSEIF new.il='ISTANBUL' THEN  
        temp=10+(uber.mesafe*0.5);   
    ELSEIF new.il='IZMIR' THEN  
        temp=3+(uber.mesafe*0.5);
    END IF;
INSERT INTO fatura VALUES(new.uid,temp);

END
delimiter ;
...