码迷,mamicode.com
首页 > 数据库 > 详细

MySql触发器基本使用及个别语法

时间:2015-04-17 15:18:18      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

/*
  触发器

  触发器基本语法:

  create trigger 触发器名称 [before/after] [insert/update/delete] on 表名

  for each row

  begin

     触发器正文

  end;

*/

示例一(仅供参考)
create trigger 触发器名称 after insert on 表名
for each row
BEGIN
  DECLARE recIdNo int(11); 
  DECLARE rownum int(11); 
  DECLARE maxTemperaNo decimal(15,2); 
  DECLARE avgTempera decimal(15,2);
  set rownum = (select count(*) from 表明 where DATE(date)= DATE(new.datetime));

  --  判断基本语法 
  if rownum > 0 then

    -- 这两条语句是变量的赋值

    select maxTempera into maxTemperaNo  from (select * from t_data_temperahumidydefine_d where DATE(date) = DATE(new.datetime) order by date desc) as t_data_temperahumidydefine_h limit 1;

    select avg(tempera) into avgTempera from t_data_temperahumidydefine_h where date(dateTime)=date(new.datetime);

    IF new.tempera > maxTemperaNo THEN
      set maxTemperaNo = new.tempera;
    end IF;

    -- 修改语句
    update t_data_temperahumidydefine_d
      set maxTempera = maxTemperaNo , avgTempera = avgTempera 
    where recId = recIdNo;

  else
    --  执行插入语句
  end if;
end;

 

MySql触发器基本使用及个别语法

标签:

原文地址:http://www.cnblogs.com/jingjie/p/4434842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!