觸發器if出錯

2021-10-01 04:35:04 字數 404 閱讀 5341

begin

if new.money > 100 then 

set new.money = 50;

end if;

end

if開頭 後需要用end if結尾,剛學觸發器時踩過的坑

insert

update

delete

oldnull

實際值實際值

new實際值

實際值null

注意  inset 觸發器不能設定為after

因為如果設定為after就意為在插入後觸發,既然是inset觸發器 為何需要在插入後在執行語句呢?在插入前就執行觸發器邏輯然後在直接插入不就是一次性完成sql了嗎!

所以這就是inset觸發器不能設定為after的原因

觸發器 mysql觸發器

觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...

觸發器(五 復合觸發器)

oracle11g開始提供了一種復合觸發器,簡單的說就是支援把語句級和行級觸發器組合在一起。實際應用場景不多,這裡就做個記錄。與單個觸發器語法有所區別 1.單個觸發器的頭部是 before after 動作 on 物件 for 觸發級別 而組合觸發器的頭部是 for 動作 on 物件 compoun...

mysql觸發器when MySQL觸發器

set quoted identifier on goset ansi nulls on goalter trigger trg risks on dbo.projectrisk for insert,update asbegin update projectrisk set classificat...