溫馨提示×

sql觸發(fā)器創(chuàng)建怎么寫

小億
126
2023-08-02 12:41:58
欄目: 云計算

創(chuàng)建 SQL 觸發(fā)器的語法如下:

CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_name
FOR EACH ROW
BEGIN
-- 觸發(fā)器執(zhí)行的邏輯
END;

其中,trigger_name 是觸發(fā)器的名稱,table_name 是觸發(fā)器所在的表名,BEFOREAFTER 指定觸發(fā)器的執(zhí)行時間,INSERT、UPDATEDELETE 指定觸發(fā)器所針對的操作,FOR EACH ROW 表示每一行數(shù)據(jù)修改時都會觸發(fā)該觸發(fā)器。

BEGINEND 之間寫入觸發(fā)器的執(zhí)行邏輯,例如插入、修改或刪除數(shù)據(jù)等操作。

以下是一個示例,創(chuàng)建一個在 orders 表上的觸發(fā)器,當(dāng)有新的訂單被插入時,更新對應(yīng)客戶的購買次數(shù):

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 是觸發(fā)器的名稱,orders 是觸發(fā)器所在的表名,AFTER INSERT 表示在插入操作之后觸發(fā)觸發(fā)器。在觸發(fā)器的執(zhí)行邏輯中,使用 UPDATE 語句更新 customers 表中對應(yīng)客戶的購買次數(shù)。NEW.customer_id 是特殊的關(guān)鍵字,表示觸發(fā)器所在表插入的新數(shù)據(jù)中的 customer_id 列的值。

0