# Summary
你不想每次手动敲很多 SQL,而是希望数据库自己能循环执行一系列 SQL,这时候就会用到 **存储过程 (Stored Procedure)**。
# Cues
# Notes
## 什么是存储过程
- **定义**:存储过程就是一段写好并存放在数据库里的 SQL 代码,可以像函数一样被调用。
- **用途**:把常用或复杂的 SQL 逻辑(包括循环、条件判断、插入、更新等)统一封装,方便复用,减少手工操作。
- **好处**:
1. **复用**:不用每次都重新写一大堆 SQL。
2. **性能**:有的数据库会对存储过程做预编译,执行更快。
3. **安全**:可以通过权限控制谁能调用存储过程,而不是直接操作表。
4. **逻辑性**:支持 `IF/ELSE`、`LOOP`、`CURSOR` 等流程控制,能做批处理。
---
## 类比
- 在 **Java** 里:存储过程 ≈ 你写在数据库里的“方法/函数”,调用时传参数即可。
- 在 **Python** 里:存储过程 ≈ 写在数据库里的函数,不用再写脚本来拼 SQL。