创建 SQL 触发器的语法如下:
```
CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_name
FOR EACH ROW
BEGIN
-- 触发器执行的逻辑
END;
```
其中,`trigger_name` 是触发器的名称,`table_name` 是触发器所在的表名,`BEFORE` 或 `AFTER` 指定触发器的执行时间,`INSERT`、`UPDATE` 或 `DELETE` 指定触发器所针对的操作,`FOR EACH ROW` 表示每一行数据修改时都会触发该触发器。
在 `BEGIN` 和 `END` 之间写入触发器的执行逻辑,例如插入、修改或删除数据等操作。
以下是一个示例,创建一个在 `orders` 表上的触发器,当有新的订单被插入时,更新对应客户的购买次数:
```
CREATE TRIGGER update_purchase_count
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
UPDATE customers
SET purchase_count = purchase_count + 1
WHERE customer_id = NEW.customer_id;
END;
```
在上述示例中,`update_purchase_count` 是触发器的名称,`orders` 是触发器所在的表名,`AFTER INSERT` 表示在插入操作之后触发触发器。在触发器的执行逻辑中,使用 `UPDATE` 语句更新 `customers` 表中对应客户的购买次数。`NEW.customer_id` 是特殊的关键字,表示触发器所在表插入的新数据中的 `customer_id` 列的值。
网友留言: