存储过程简介
存储过程是预编译的SQL语句集合,存储在数据库中,可以通过调用名称执行。
存储过程优点
- 减少网络传输
- 预编译提升性能
- 代码复用
- 增强安全性
创建存储过程示例
CREATE PROCEDURE GetUserById(IN userId INT)\nBEGIN\n SELECT * FROM users WHERE id = userId;\nEND;
触发器简介
触发器是在特定事件(INSERT、UPDATE、DELETE)发生时自动执行的存储程序。
触发器类型
| 类型 | 触发时机 |
|---|---|
| BEFORE INSERT | 插入前执行 |
| AFTER INSERT | 插入后执行 |
| BEFORE UPDATE | 更新前执行 |
| AFTER UPDATE | 更新后执行 |
| BEFORE DELETE | 删除前执行 |
| AFTER DELETE | 删除后执行 |
使用建议
- 避免复杂的业务逻辑
- 注意触发器的执行顺序
- 做好异常处理
- 记录触发器执行日志

