2013-09-24 41 views
0

是否可以創建大於條件的觸發器。假設我有一個色譜柱溫度,並且每15秒鐘後將新值存儲在該列中。所以如果該值變得大於預定值(例如100度),則產生觸發。是否有可能在MySQL中做到這一點?大於條件的mysql觸發器

CREATE TRIGGER triggername AFTER INSERT ON tablename FOR EACH ROW 
WHEN (condition) 
BEGIN 
    ........ 
END; 

觸發器被觸發,只有當condition是滿足:像甲骨文那樣,例如在甲骨文

回答

4

MySQL未實施有條件的觸發器。

在MySql中,觸發器每次被觸發。
但是,它仍然可以使用條件IF語句中的觸發器內,只有當某些條件滿足執行一些操作,例如:

Create table temperature(
    id int primary key auto_increment, 
    temperature decimal(5, 1) 
); 

Create table temp_above_100(
    id int primary key auto_increment, 
    temperature decimal(5, 1) 
); 

CREATE TRIGGER triggername 
AFTER INSERT ON temperature FOR EACH ROW 
BEGIN 
    IF new.temperature >= 100 THEN 
    INSERT INTO temp_above_100(temperature) 
    VALUES (new.temperature); 
    END IF; 
END;/ 

INSERT INTO temperature(temperature) 
VALUES (10), (20), (100), (120); 

點擊此鏈接:http://www.sqlfiddle.com/#!2/6a930/1看到這個例子的結果。

+0

感謝您的解決方案。 – prattom