mysql合并两个触发器

问题描述 投票:0回答:1

我正在尝试使该触发器适用于表中的两列,有人可以帮我吗? MariaDB每个表仅支持一个触发器。

begin
    if (select count(*) from reservation where res_room = new.res_room) > 3 then
        signal sqlstate '45000';
    END if;
END

这是我的合并尝试:

begin
    if (select count(*) from reservation where res_room = new.res_room) > 3 then
        signal sqlstate '45000';
    if (select count(*) from reservation where res_time = new.res_time) > 8 then
        signal sqlstate '45000';
    END if;
END

sql mariadb
1个回答
1
投票

我认为您想要的语法是:

BEGIN
    if (select count(*) from reservation where res_room = new.res_room) > 3 then
        signal sqlstate '45000';
    elseif (select count(*) from reservation where res_time = new.res_time) > 8 then
        signal sqlstate '45000';
    END if;
END

即,您想要elseif

© www.soinside.com 2019 - 2024. All rights reserved.