創建 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
列的值。