如果mysql 5.0触发条件为true,如何显示消息?

时间:2013-06-12 06:54:45

标签: mysql sql triggers

我有一个触发器

 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 版本...

1 个答案:

答案 0 :(得分:0)

在做了一些研究之后,我发现有一种方法......使用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//