mysql中存储过程调用_mysql 存储过程使用方法

P粉602998670
发布: 2025-12-05 04:53:30
原创
666人浏览过
答案:MySQL存储过程通过CALL语句调用,使用CREATE PROCEDURE定义,支持IN、OUT、INOUT参数类型,需设置DELIMITER避免语法错误,示例如查询用户、统计数量和数值翻倍操作。

mysql中存储过程调用_mysql 存储过程使用方法

在 MySQL 中,存储过程(Stored Procedure)是一组预编译的 SQL 语句集合,可以接收参数、执行逻辑操作并返回结果。调用存储过程使用 CALL 语句。下面详细介绍如何创建和调用 MySQL 存储过程,并给出实用示例。

创建存储过程

使用 CREATE PROCEDURE 语句定义一个存储过程。你可以指定输入、输出或输入/输出参数。

示例:创建一个根据用户 ID 查询用户信息的存储过程

DELIMITER //
CREATE PROCEDURE GetUserById(IN user_id INT)
BEGIN
    SELECT * FROM users WHERE id = user_id;
END //
DELIMITER ;
登录后复制

说明:
- IN user_id INT:表示输入参数,调用时需传入值。
- DELIMITER //:更改语句结束符,避免内部的分号提前结束定义。

调用存储过程

使用 CALL 语句执行已创建的存储过程。

示例:调用上面创建的 GetUserById 存储过程

CALL GetUserById(1);
登录后复制

这将查询 users 表中 id 为 1 的记录。

带输出参数的存储过程

存储过程也可以返回输出值,适用于需要获取计算结果或状态的场景。

示例:统计某个状态的用户数量

DELIMITER //
CREATE PROCEDURE CountUsersByStatus(
    IN status_val TINYINT,
    OUT user_count INT
)
BEGIN
    SELECT COUNT(*) INTO user_count FROM users WHERE status = status_val;
END //
DELIMITER ;
登录后复制

调用方式:

ERMEB云盘发卡小程序源码
ERMEB云盘发卡小程序源码

ERMEB云盘发卡系统官方正版系统发卡系统操作简单、方便、易懂,系统微信小程序前端采用nuiapp、后端采用think PHP6,PC前端采用vue开发,使用场景:文件上传储存。适合个人/个体/中小企业使用,本系统配合微信小程序端进行使用,文件下载以及发卡商品卡密领取都需要进入小程序内获取下载码以及卡密领取,小程序内可设置积分充值以及任务获取积分,支持微信激励广告领取文件下载码以及卡密商品,可实现

ERMEB云盘发卡小程序源码 0
查看详情 ERMEB云盘发卡小程序源码

CALL CountUsersByStatus(1, @count);
SELECT @count AS total_active_users;
登录后复制

注意: 输出参数必须通过用户变量(如 @count)接收,之后可用 SELECT 查看结果。

带输入输出参数的存储过程

MySQL 还支持 INOUT 参数,调用时传入初始值,过程可修改其值并返回。

示例:将传入数值翻倍

DELIMITER //
CREATE PROCEDURE DoubleNumber(INOUT num INT)
BEGIN
    SET num = num * 2;
END //
DELIMITER ;
登录后复制

调用方式:

SET @value = 5;
CALL DoubleNumber(@value);
SELECT @value; -- 返回 10
登录后复制

基本上就这些。掌握 CALL 语句和参数类型(IN、OUT、INOUT),就能灵活使用 MySQL 存储过程提升代码复用性和执行效率。不复杂但容易忽略细节,比如分隔符设置和变量定义。

以上就是mysql中存储过程调用_mysql 存储过程使用方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号