MySQL中的触发器出错

时间:2014-06-10 09:53:57

标签: mysql triggers

我正在尝试用mysql编写一个触发器,但它给了我一些错误。最后一个没有描述(MySQL只说错误!)所以我在这里寻求你的帮助

delimiter |
CREATE TRIGGER SellStockTrigger
AFTER INSERT ON UtenteHaAzione
FOR EACH ROW



BEGIN
DECLARE BUD DOUBLE;
DECLARE SOMMA DOUBLE;
SET BUD=(SELECT BUDGET
FROM UTENTE 
WHERE CODUTENTE = NEW.CODUTENTE);

SET SOMMA= NEW.COSTOAZIONE*NEW.QTAAZIONE;
SET BUD=BUD-SOMMA;
IF (BUD<0) 
 raise_application_error (6002, 'budget exceeded');
ELSE
UPDATE UTENTE
WHERE CODUTENTE=NEW.CODUTENTE
SET BUDGET=BUD; 
END IF;
END;
delimiter ;

这是我的数据库结构。 Utente_Table UtenteHaAzione_Table

不幸的是我曾经在Oracle数据库中编写触发器,所以我确定我错过了一些东西! 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

2件事 -

首先结束后你需要将某些东西称为

END; |
delimiter ;

接下来更新查询错误,应该是

UPDATE UTENTE
SET BUDGET=BUD
WHERE CODUTENTE=NEW.CODUTENTE
;