創建 SQL 觸發器的語法如下:
CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE | DELETE}
ON table_name
FOR EACH ROW
BEGIN
-- 觸發器執行的 SQL 語句
END;
其中:
trigger_name
是觸發器的名稱,可以自定義。
BEFORE
或 AFTER
指定觸發器是在操作之前還是之后執行。
INSERT
、UPDATE
或 DELETE
指定觸發器是在插入、更新還是刪除操作后執行。
table_name
是觸發器所屬的表名。
FOR EACH ROW
表示每一行數據都會觸發觸發器。
BEGIN
和 END
之間是觸發器執行的 SQL 語句。
例如,以下是一個在表 orders
上創建的觸發器示例:
CREATE TRIGGER update_order_count
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
UPDATE order_counts
SET count = count + 1
WHERE order_id = NEW.order_id;
END;
這個觸發器在每次向 orders
表插入一行數據后,會自動更新 order_counts
表中對應訂單的計數器。