⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

MySQL 存储过程

CREATE PROCEDURE 封装业务逻辑 · 难度:高级 · +20XP

存储过程 — 数据库端编程

存储过程是预编译的 SQL 代码块,可以接收参数、包含控制流程。一次创建,多次调用。减少网络传输,提升性能。

创建存储过程

DELIMITER //
CREATE PROCEDURE get_top_products(IN min_price DECIMAL(10,2), IN lim INT)
BEGIN
  SELECT name, price, stock FROM products
  WHERE price >= min_price ORDER BY stock DESC LIMIT lim;
END //
DELIMITER ;
-- 调用
CALL get_top_products(100, 5);

带输出参数

CREATE PROCEDURE get_stats(OUT total INT, OUT avg_price DECIMAL(10,2))
BEGIN
  SELECT COUNT(*), AVG(price) INTO total, avg_price FROM products;
END;
CALL get_stats(@total, @avg);
SELECT @total, @avg;

存储过程 vs 函数

过程函数
CALL 调用SELECT 中调用
可返回多结果集返回单个值
支持 IN/OUT/INOUT 参数只有 RETURNS
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 68 篇
0 完成
🔥 0