我正在尝试用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数据库中编写触发器,所以我确定我错过了一些东西! 谢谢你的帮助
答案 0 :(得分:0)
2件事 -
首先结束后你需要将某些东西称为
END; |
delimiter ;
接下来更新查询错误,应该是
UPDATE UTENTE
SET BUDGET=BUD
WHERE CODUTENTE=NEW.CODUTENTE
;