我有一个触发器

 DELIMITER $$
  DROP TRIGGER IF EXISTS before_insert_on_emp $$
  CREATE TRIGGER before_insert_on_emp
  BEFORE insert ON empefforts
  FOR EACH ROW BEGIN
  DECLARE MSG VARCHAR(100);
  IF (NEW.TIMING) > 60
  THEN
    SET MSG='Error: TIMING must be <=60.';
  END IF;
 END$$
DELIMITER ;


当条件为真时,我想在控制台上显示MSG VARIABLE值。
如何显示此值。我正在使用mysql 5.0.18版本...

最佳答案

经过研究后,我发现有一种方法可以使用SIGNAL像这样:

SIGNAL SQLSTATE '01000' SET MESSAGE_TEXT = 'Error: TIMING must be <=60.';


UPDATE:打印消息的过程示例:

DELIMITER //
CREATE PROCEDURE show_message()
BEGIN
    SELECT 'Error: TIMING must be <=60.'
END//

09-25 17:57