В этот вопрос вовлечены две таблицы: Register (eid, sid, цена, рейтинг) и Event (eid, ename, edescription, edate, memprice, nonmemprice, maxpeople).
Я хочу создать триггер, который отслеживает Регистр, если число регистраций какого-либо события превышает 80% от максимального числа людей, допустимых в таком событии, то мы не являемся участниками этого события на 50%.
Пока у меня есть что-то вроде этого
delimiter//
create trigger price_change
after insert on Register for each row begin
DECLARE counts INT;
DECLARE maxpeople INT;
set counts = (select count(sid) from Register
JOIN Event ON Register.eid = Event.eid
where eid = new.eid);
set maxpeople = (select maxpeople from Event where Event.eid =
new.eid);
if counts >= 0.8 * maxpeople
then
update Event set nonmemprice = nonmemprice * 1.5 where eid
= new.eid;
end if;
end//
delimiter;
Я все еще учусь писать триггер, и у меня получился этот триггер.Я пытался добавить его в MySQL, но он сказал, что есть синтаксические ошибки в основном везде этого триггера.Я действительно смущен.Буду признателен, если кто-нибудь поможет мне с этим.