Я хочу создать триггер, который предотвращает вставку совпадающих дат. Например: Если у меня есть предложение «Oferta» с датой с 1/3/2016 по 3/3/2016, я не могу вставить новое предложение с датой 2/3/2016 по 4/3/2016 или 4/3/2016 по 7/3/2016Ошибки триггера mysql
My SELECT проверяет, в каком состоянии я верю. То, что я не знаю, как это сделать, - это сделать ошибку, если это произойдет. Я новичок в триггеры и Im имея синтаксических ошибок, я проверил синтаксис триггеров, но не смог найти проблему ...
DELIMITER $$
CREATE TRIGGER tri_check_date_overlap BEFORE INSERT ON Oferta
FOR EACH ROW
BEGIN
IF EXISTS(
SELECT * FROM Oferta WHERE
(new.morada = morada AND new.codigo = codigo
AND ((new.data_inicio BETWEEN data_inicio AND data_fim)
OR new.data_fim BETWEEN data_inicio AND data_fim)
)
)
/*CALL raise_application_error(3001, 'Not odd number!'); */
DECLARE msg varchar(255);
set msg = concat('Error: That right is not allowed!', cast(new.right as char));
signal sqlstate '45000' set message_text = msg;
END $$
DELIMITER ;