[MySQL]觸發器相關語句
阿新 • • 發佈:2019-01-01
若declare報missing semicolon的錯誤,在sql語句前加上
DELIMITER $$
建立觸發器
DELIMITER $$
create trigger [觸發器名]
AFTER [操作名:如update\delete\insert]
ON [表名]
for each row
begin
#要執行的操作
end;
例:
DELIMITER $$ create trigger TRI_Lineitem_Price_UPDATE AFTER UPDATE ON lineitem for each row begin DECLARE L_valuediff real;#中間變數宣告 set L_valuediff=NEW.extendedprice*(1-NEW.discount)*(1+NEW.tax)- OLD.extendedprice*(1-OLD.discount)*(1+OLD.tax); UPDATE orders set totalprice = totalprice + L_valuediff WHERE orderkey = NEW.orderkey; end;
刪除觸發器
drop trigger [觸發器名]
檢視當前資料庫的所有觸發器
show triggers