sqlserver创建触发器
时间: 2023-10-05 20:11:41 浏览: 44
SQL Server 中的触发器可以在插入、更新或删除表中的数据时执行特定的操作。以下是创建 SQL Server 触发器的基本语法:
```
CREATE TRIGGER trigger_name
ON table_name
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
-- 触发器代码在这里
END;
```
其中 `trigger_name` 是触发器的名称,`table_name` 是要监视的表的名称,`AFTER INSERT, UPDATE, DELETE` 指示何时触发器应该运行。你可以使用这些关键字中的任何一个来指定触发器应该在何时运行。
触发器代码应该放在 `BEGIN` 和 `END` 之间。你可以在此处编写任何 SQL 语句,例如 INSERT、UPDATE 或 DELETE 语句,或者调用存储过程。
以下是一个示例触发器,该触发器在插入或更新 `employees` 表时将数据插入 `employee_audit` 表:
```
CREATE TRIGGER tr_employee_audit
ON employees
AFTER INSERT, UPDATE
AS
BEGIN
INSERT INTO employee_audit (employee_id, action)
SELECT employee_id, 'Inserted/Updated'
FROM inserted;
-- 如果希望同时记录删除操作,可以在此添加另一个 INSERT 语句
END;
```
在此示例中,`employee_audit` 表应该提前创建好,包含 `employee_id` 和 `action` 两列。在触发器中,我们使用了 `inserted` 表,该表是一个临时表,在插入或更新语句执行后包含了新的或修改后的数据。我们可以使用 `inserted` 表来获取要插入到 `employee_audit` 表中的数据。