sql server实验八触发器创建dml触发器1
时间: 2024-11-21 10:26:07 浏览: 14
SQL Server如何用触发器捕获DML操作的会话信息
SQL Server 实验八中的DML触发器(Data Manipulation Language Trigger)是一种特殊的存储过程,它会在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行。创建DML触发器的主要目的是为了在数据更改时自动完成一些业务规则验证、数据审计或一致性维护的工作。
以下是一个简单的例子,演示如何在SQL Server中创建一个针对`Employees`表的插入触发器:
```sql
CREATE TRIGGER Tr_InsertEmployee
ON Employees
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON; -- 关闭递归计数
-- 检查是否满足某些条件,例如检查新员工的年龄是否大于18岁
IF (SELECT Age FROM inserted) < 18
BEGIN
RAISERROR('新入职员工必须年满18岁!', 16, 1);
ROLLBACK TRANSACTION; -- 如果不符合条件,回滚插入操作
END
END;
```
在这个触发器中,`AFTER INSERT`表示当插入操作完成后才会执行。`inserted`系统集包含所有刚插入的新行,所以我们可以从这个集合中获取信息。
阅读全文