创建 SQL 触发器的语法如下:
CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_name
FOR EACH ROW
BEGIN
-- 触发器执行的逻辑
END;
其中,trigger_name
是触发器的名称,table_name
是触发器所在的表名,BEFORE
或 AFTER
指定触发器的执行时间,INSERT
、UPDATE
或 DELETE
指定触发器所针对的操作,FOR EACH ROW
表示每一行数据修改时都会触发该触发器。
在 BEGIN
和 END
之间写入触发器的执行逻辑,例如插入、修改或删除数据等操作。
以下是一个示例,创建一个在 orders
表上的触发器,当有新的订单被插入时,更新对应客户的购买次数:
CREATE TRIGGER update_purchase_count
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
UPDATE customers
SET purchase_count = purchase_count + 1
WHERE customer_id = NEW.customer_id;
END;
在上述示例中,update_purchase_count
是触发器的名称,orders
是触发器所在的表名,AFTER INSERT
表示在插入操作之后触发触发器。在触发器的执行逻辑中,使用 UPDATE
语句更新 customers
表中对应客户的购买次数。NEW.customer_id
是特殊的关键字,表示触发器所在表插入的新数据中的 customer_id
列的值。