SQL脚本里创建触发器
时间: 2023-05-31 11:03:09 浏览: 111
创建触发器-Oracle SQL & PL-SQL
创建触发器的SQL语句如下:
```sql
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语句。
例如,创建一个在`orders`表中插入数据时触发的触发器,将新插入的数据的订单总金额累加到`customers`表中对应客户的总消费金额:
```sql
CREATE TRIGGER update_customer_total
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
UPDATE customers SET total_amount = total_amount + NEW.amount WHERE id = NEW.customer_id;
END;
```
其中,`NEW`是一个特殊的关键字,表示新插入的数据行。在本例中,`NEW.amount`表示新插入的订单金额,`NEW.customer_id`表示订单所属客户的ID。触发器执行时,会将对应客户的总消费金额累加上这个订单的总金额。
阅读全文