2013-06-12 14 views
0

我有一個觸發如果在mysql 5.0觸發條件爲true,如何顯示消息?

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 ; 

我要顯示在控制檯上的味精變量的值時,條件爲真。 如何顯示此值。我使用的MySQL 5.0.18版本 ...

+0

你試過了'SELECT MSG;'? – Stephan

+0

在MySql ver <5.5中沒有正常的方法。你可以嘗試其中一種方法(閱讀,例如http://stackoverflow.com/q/229765/1920232,http://stackoverflow.com/q/24/1920232) – peterm

+0

@Stephan是的我試過了,但它給了我錯誤:不允許從觸發器返回結果集。 –

回答

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// 
+0

信號不支持在MySQL 5.0 –

+0

我的壞...我錯過了:(這是我唯一的想法... – Stephan

+0

我沒有那麼好的過程,所以你可以寫一個存儲過程的例子來顯示這個例子,因爲我嘗試使用過程也沒有工作,所有 –

相關問題