sql 觸發(fā)器是一種在指定表上執(zhí)行特定事件時(shí)自動(dòng)執(zhí)行特定操作的數(shù)據(jù)庫對(duì)象。要設(shè)置 sql 觸發(fā)器,可以使用 create trigger 語句,其中包括觸發(fā)器名稱、表名稱、事件類型和觸發(fā)器代碼。觸發(fā)器代碼使用 as 關(guān)鍵字進(jìn)行定義,并包含 sql 或 pl/sql 語句或塊。通過指定觸發(fā)器條件,可以使用 where 子句限制觸發(fā)器的執(zhí)行范圍。可以使用 insert into、update 或 delete 語句在觸發(fā)器代碼中執(zhí)行觸發(fā)器操作。new 和 old 關(guān)鍵字可以在觸發(fā)器代碼中用來引用受影
SQL 觸發(fā)器的設(shè)置方法
1. 什么是 SQL 觸發(fā)器?
SQL 觸發(fā)器是一種數(shù)據(jù)庫對(duì)象,當(dāng)對(duì)指定表執(zhí)行特定的事件時(shí)自動(dòng)執(zhí)行特定操作。它用于維護(hù)數(shù)據(jù)的完整性和一致性。
2. 如何設(shè)置 SQL 觸發(fā)器
創(chuàng)建觸發(fā)器的語法如下:
CREATE TRIGGER `觸發(fā)器名稱` ON `表名稱` FOR `事件類型` AS `觸發(fā)器代碼`;
登錄后復(fù)制
其中:
觸發(fā)器名稱:觸發(fā)器的唯一名稱。
表名稱:應(yīng)用觸發(fā)器的表。
事件類型:觸發(fā)觸發(fā)器的事件,例如 INSERT、UPDATE 或 DELETE。
觸發(fā)器代碼:當(dāng)觸發(fā)事件發(fā)生后執(zhí)行的 SQL 語句或 PL/SQL 代碼塊。
3. 詳細(xì)步驟
-
使用 CREATE TRIGGER 語句創(chuàng)建觸發(fā)器。
指定在哪個(gè)表上創(chuàng)建觸發(fā)器,以及觸發(fā)哪種事件。
使用 AS 關(guān)鍵字后接 SQL 或 PL/SQL 代碼塊。
使用 BEGIN 和 END 語句封裝觸發(fā)器代碼。
指定觸發(fā)器條件,例如 WHERE 子句,以限制觸發(fā)器的執(zhí)行某些行。
使用 INSERT INTO、UPDATE 或 DELETE 語句來執(zhí)行觸發(fā)器操作。
在觸發(fā)器代碼中使用 NEW 和 OLD 關(guān)鍵字來引用受影響行的值。
使用 COMMIT 語句提交事務(wù)以激活觸發(fā)器。
示例:
-- 創(chuàng)建一個(gè)在表 "orders" 上插入記錄時(shí)執(zhí)行的觸發(fā)器
CREATE TRIGGER `order_trigger`
ON `orders`
FOR INSERT
AS
-- 插入新行到 "order_log" 表
INSERT INTO `order_log` (`order_id`, `order_date`, `action`)
VALUES (NEW.`order_id`, NEW.`order_date`, 'INSERTED');
登錄后復(fù)制






