0

我有触发器

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

4

1 回答 1

0

在做了一些研究之后,我发现有一种方法......使用SIGNAL像:

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

更新:打印消息的过程示例:

DELIMITER //
CREATE PROCEDURE show_message()
BEGIN
    SELECT 'Error: TIMING must be <=60.'
END//
于 2013-06-12T09:22:45.323 回答