sql 觸發器是一種自動在特定事件發生時執行操作的數據庫對象。創建觸發器包括以下步驟:選擇觸發器類型:before、after 或 instead of指定觸發事件:insert、update 或 delete編寫觸發器代碼,指定執行的操作使用 create trigger 語句創建觸發器
如何創建 SQL 觸發器
SQL 觸發器是一種數據庫對象,在特定事件發生時自動觸發一組操作。例如,在向表中插入新行時執行操作。
創建觸發器
要創建觸發器,可以使用以下步驟:
選擇觸發器類型:SQL 支持以下類型的觸發器:
BEFORE:在執行事件之前觸發
AFTER:在執行事件之后觸發
INSTEAD OF:替代觸發事件
指定觸發事件:觸發器可以對以下事件進行響應:
INSERT:向表中插入新行
UPDATE:更新表中現有行
DELETE:從表中刪除行
編寫觸發器代碼:觸發器代碼指定要執行的操作。這可以包括插入新行、更新現有行或向其他表寫操作。
創建觸發器:使用 CREATE TRIGGER 語句創建觸發器。語法如下:
CREATE TRIGGER [觸發器名稱] ON [表名稱] FOR [觸發事件] AS BEGIN [觸發器代碼] END;
登錄后復制
示例
以下示例創建一個 BEFORE INSERT 觸發器,在向 “客戶” 表中插入新行之前插入當前時間戳:
CREATE TRIGGER before_customer_insert ON customers FOR INSERT AS BEGIN UPDATE customers SET created_at = CURRENT_TIMESTAMP WHERE id = NEW.id; END;
登錄后復制
注意:
觸發器名稱必須唯一。
表名稱必須是觸發器將作用到的表。
觸發事件指定觸發器的觸發條件。
BEGIN 和 END 語句標記觸發器代碼塊的開始和結束。
NEW 和 OLD 表達式分別引用新插入或更新的行和舊的行。
觸發器代碼可以包含 SQL 語句、流程控制結構和函數。