lMySQL手册 trigger 实例
触发器是特殊的存储过程,在特定的数据库活动发生时执行,触发器可以与特定表上的INSERT、UPDATE和DELETE操作(或组合)相关联。
常见用途:
- 保证数据一致。
- 基于某个表的变动在其他表上执行活动。
- 进行额外的验证并根据需要退回数据。
- 计算计算列的值或更新时间戳。
创建触发器的语法:
create trigger triggerName
after/before insert/update/delete on表名
for each row 这句话是固定的
begin
sql语句 # 一句或多句,insert/update/delete范围内
end;
举个例子,创建一个触发器,它对所有的UPDATE和INSERT操作,将Customers表中的cust_state列转化为大写。
CREATE TRIGGER customer_state
AFTER INSERT, UPDATE
ON Customers
FOR EACH ROW
BEGIN
UPDATE Customers SET cust_state = UPPER(cust_state)
WHERE Customers.cust_id = inserted.cust_id
END;