標籤:
/*
觸發器
觸發器基本文法:
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觸發器基本使用及個別文法