存储过程简介

存储过程是预编译的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删除后执行

使用建议

  • 避免复杂的业务逻辑
  • 注意触发器的执行顺序
  • 做好异常处理
  • 记录触发器执行日志