creat trigger 的语法语句及常见用法
时间: 2024-11-15 16:31:47 浏览: 5
SuiJiShu.rar_qt creat
创建触发器的语法在大多数SQL数据库管理系统中类似,包括MySQL、Oracle、SQL Server等。基本的语法通常包含以下几个部分:
1. `CREATE TRIGGER`:开始触发器的定义。
2. `TRIGGER_NAME`:给触发器指定的名称,用于唯一标识。
3. `ACTION`:可以是`AFTER`, `BEFORE`, 或者 `INSTEAD OF`,分别表示数据修改操作之后、之前或替换操作的动作。
4. `EVENT`:如`INSERT`, `UPDATE`, `DELETE`, 或`TRUNCATE`,定义触发器响应的操作类型。
5. `ON`:指定触发器所关联的表名。
6. `FOR EACH ROW` 或 `FOR EACH STATEMENT`:前者针对每一行数据,后者针对整个语句。
7. `WHEN` 或 `WHEN CONDITION`:可选的条件,仅当满足这个条件时触发器才会执行。
8. `BEGIN` 和 `END`:包围着触发器的具体SQL语句块。
一个简单的例子,假设你想在用户表(user)的插入操作后,自动在其活动日志(logs)表中添加一条记录:
```sql
CREATE TRIGGER trig_after_insert_user
AFTER INSERT ON user
FOR EACH ROW
BEGIN
INSERT INTO logs (user_id, action, timestamp)
VALUES (NEW.user_id, 'Inserted', NOW());
END;
```
这里,`NEW`代表新插入的数据行。
阅读全文