创建触发器
时间: 2023-11-19 18:09:40 浏览: 94
在数据库中,触发器是一种特殊类型的存储过程,它们是在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行的。在MySQL中,可以使用以下语法创建触发器:
```
CREATE TRIGGER trigger_name
BEFORE/AFTER INSERT/UPDATE/DELETE ON table_name
FOR EACH ROW
BEGIN
-- 触发器执行的SQL语句
END;
```
其中,`trigger_name`为触发器名称,`table_name`为要在其上创建触发器的表名。`BEFORE/AFTER`关键字用于指定触发器是在操作之前还是之后执行。`INSERT/UPDATE/DELETE`指定了何时触发器应该执行。`FOR EACH ROW`表示当每行受到影响时都会执行该触发器。在`BEGIN`和`END`之间,你可以编写要执行的SQL语句,以响应特定的操作。
例如,以下代码创建一个名为`update_salary`的触发器,在更新`employees`表中的`salary`字段时,自动将该员工的薪水记录到`salary_history`表中:
```
CREATE TRIGGER update_salary
AFTER UPDATE ON employees
FOR EACH ROW
BEGIN
INSERT INTO salary_history (employee_id, old_salary, new_salary, change_date)
VALUES (OLD.id, OLD.salary, NEW.salary, NOW());
END;
```
阅读全文