sql第1关:触发器入门
时间: 2023-10-28 12:02:08 浏览: 181
触发器是一种特殊的存储过程,它与特定表相关联,当该表上的特定事件发生时,触发器会自动执行。通过使用触发器,可以实现诸如自动化数据更改、复杂的数据验证和计算等功能。
在 SQL 中,创建触发器需要使用 CREATE TRIGGER 语句。语法如下:
```sql
CREATE TRIGGER trigger_name
{BEFORE|AFTER} {INSERT|UPDATE|DELETE}
ON table_name
[FOR EACH ROW]
BEGIN
-- 触发器的执行逻辑
END;
```
其中,trigger_name 是触发器的名称,INSERT、UPDATE、DELETE 分别表示触发器要针对的表上的插入、更新和删除操作。BEFORE 和 AFTER 分别表示在操作之前和之后执行触发器。FOR EACH ROW 表示在每行数据发生变化时都会执行触发器。
下面是一个简单的例子,创建一个触发器,当 customers 表中有新行插入时,自动向 orders 表中插入一条记录:
```sql
CREATE TRIGGER new_order
AFTER INSERT
ON customers
FOR EACH ROW
BEGIN
INSERT INTO orders (customer_id, order_date)
VALUES (NEW.customer_id, NOW());
END;
```
这个触发器会在每次向 customers 表中插入一行数据时,自动向 orders 表中插入一条记录,其中 customer_id 是插入的新行的 customer_id 值,order_date 是当前时间。注意,NEW 是一个变量,它代表插入的新行数据。
触发器是一个强大的工具,可以实现很多自动化的功能。但是,过度使用触发器可能会导致性能问题,因此需要慎重使用。