触发器是附加到表上的数据库对象,当对表进行特定操作(如插入、更新或删除)时自动执行一系列动作。它们用于强制执行业务规则、维护数据完整性或执行复杂的数据库操作。
SQL 中添加触发器
要在 SQL 中向数据库添加触发器,可以使用以下语法:
CREATE TRIGGER [触发器名称]
ON [表名称]
FOR [触发事件]
AS
[触发器主体]
其中:
* **触发器名称:**触发器的唯一标识符。
* **表名称:**触发器附加到的表。
* **触发事件:**触发触发器执行的事件(如 INSERT、UPDATE 或 DELETE)。
* **触发器主体:**触发器执行的 SQL 语句块。
触发器结构
触发器主体包含要执行的动作,可以包括以下元素:
UPDATE:更新表的记录。
INSERT:插入新记录到表中。
DELETE:从表中删除记录。
SELECT:从表中检索数据。
控制流:使用 IF、WHILE 和 CONTINUE 等语句控制触发器的流程。
临时表:使用临时表存储触发器执行期间的数据。
触发器示例
以下示例创建一个在向表中插入新记录时执行的触发器:
CREATE TRIGGER Insert_Customer_Audit
ON Customer
FOR INSERT
AS
BEGIN
INSERT INTO CustomerAudit (CustomerID, Action, Timestamp)
VALUES (NEW.CustomerID, 'INSERT', GETDATE());
END;
此触发器在向 Customer 表中插入新记录时,将插入记录插入 CustomerAudit 表,其中包含新记录的 ID、操作类型(INSERT)和时间戳。
触发器是强大的数据库工具,用于自动化数据库操作、维护数据完整性并实施业务规则。通过使用 SQL 语言,可以轻松地向数据库添加触发器,从而增强数据库的安全性、完整性和可扩展性。