MySQL: триггер создает исключение Table not found - PullRequest
0 голосов
/ 01 мая 2018

У меня есть следующие 2 таблицы базы данных: DEPT ( Dnumber , Dname, Основан, Mgr_ssn, Бюджет) СОТРУДНИК ( Ssn , Ename, Bdate, Dno, Salary)

и я хочу создать триггер, чтобы ни в одном департаменте не было более 8 сотрудников. вот что я написал до сих пор

    DELIMITER //
CREATE TRIGGER ensure_dept_count_on_insert BEFORE insert on `EMPLOYEE`
    FOR EACH ROW
    BEGIN
        DECLARE maxCount integer;
        set maxCount = (select count(*) as c from Employee where Dno = new.Dno);
        if maxCount = 9
        then SIGNAL SQLSTATE '02000' SET MESSAGE_TEXT = 'Department cannot have more than 8 employees';
        end if;
    END //
DELIMITER ;

Проблема в том, что когда я вставляю в EMPLOYEE, это дает мне исключение Таблица НЕ найдена, а при отпускании триггера вставка завершается успешно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...