| 用途 | 库内程序 |
|---|---|
| 创建 | CREATE PROCEDURE / FUNCTION |
| 分隔符 | DELIMITER 临时切换 |
存储过程示例
存储过程示例
DELIMITER $$
CREATE PROCEDURE sp_close_orders(IN p_days INT)
BEGIN
UPDATE orders SET status = 'closed'
WHERE status = 'pending' AND created_at < NOW() - INTERVAL p_days DAY;
SELECT ROW_COUNT() AS affected;
END$$
DELIMITER ;
CALL sp_close_orders(30);查看与管理
查看与管理
SHOW PROCEDURE STATUS LIKE 'sp_%';
SHOW CREATE PROCEDURE sp_close_orders\G
DROP PROCEDURE sp_close_orders;存储过程里的业务逻辑难测试难审计,生产尽量保持薄封装(批处理/数据迁移),核心逻辑放应用层。