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

触发器示例详解
本文提供了一个关于数据库触发器的基本语法示例,并通过一个具体的温度数据更新案例详细展示了触发器的工作原理。示例中涉及了变量声明、条件判断、数据查询及更新等操作。

/*
  触发器

  触发器基本语法:

  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;

 

转载于:https://www.cnblogs.com/jingjie/p/4434842.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值