2013-09-24 37 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