详解MySql存储过程参数的入门使用

 更新时间:2019年04月09日 14:21:03   作者:孤独灿烂的神  
这篇文章主要介绍了MySql存储过程参数的入门使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

存储过程 in参数 的使用

IN参数只用来向过程传递信息,为默认值。

-- 存储过程中 in 参数的 使用
DELIMITER ;; 
CREATE PROCEDURE 
name_in(IN `time` VARCHAR(50)) 
BEGIN
 
 
SELECT NOW() ,`time`;
 
END ;;
CALL name_in('现在时间'); -- in 是一个形参 你可以 定义 数据类型 调用存储过程的时候 可以给 实参 
 
DELIMITER ;; 
CREATE PROCEDURE name_in_2(IN `time` VARCHAR(50)) -- set赋值的 使用
BEGIN
 
 
SELECT NOW() ,`time`;
 
END ;;
SET @wo='现在时间'; 
CALL name_in_2(@wo);
 
DELIMITER ;; 
CREATE PROCEDURE name_in_4(IN `time` VARCHAR(50))-- DECLARE 创建变量的使用
BEGIN
DECLARE `time` DEFAULT 'wo'; -- DECLARE 创建变量的 只在begin-end语句块 有效的 变量 
SELECT NOW() ,`time`;-- 
END ;;
-- 可以 使用 DECLARE 在存储过程中 
-- 创建(DECLARE)和 赋值(SET) set @变量名= 值
-- 总结 DECLARE 只在begin-end语句块 有效 set 加@ 是会话变量在 当前连接中 对连接的客户端 是有效的

out参数的使用

OUT参数只用来从过程传回信息。
 MySQL存储过程"out"参数:从存储过程内部传值给调用者。
该参数初始值为 null,无论调用者是否给存储过程参数设置值。

DELIMITER ;; 
CREATE PROCEDURE name_out(IN `one` INT , IN two INT ,OUT shu INT) -- out 输出参数 的使用
BEGIN
 
SET shu=`one`+two; -- 直接 两个输入参数 相加 赋值给 输出参数 set 变量名 是赋值的意思
 
 -- set 赋值 在当前存储过程中 有效 比如 可以使用 select shu ;
 -- set @赋值 在当前连接客服端中有效
 END ;;
 
 
CALL name_out(3,3,@shuchu);
SELECT @shuchu AS 输出参数; -- 在调用存储过程的时候可以 定义一个 @参数 来接收 输出参数 也就是 返回值

以上所述是小编给大家介绍的MySql存储过程参数的入门使用详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • mysql免安装制作使用说明

    mysql免安装制作使用说明

    mysql免安装版本的制作方法,需要的朋友可以参考下。
    2010-08-08
  • Centos中安装多个mysql数据的配置实例

    Centos中安装多个mysql数据的配置实例

    最近因为单位项目扩充,需要在原线上数据库服务器上加装一个mysql实例(实际上就是从新编译安装一个非3306的自定义端口,不同目录的mysql),研究了一天,终于顺利搞定,这里把配置步骤发给大家,供大家学习使用
    2014-04-04
  • MySQL安装提示配置信息已损坏请联系技术人员

    MySQL安装提示配置信息已损坏请联系技术人员

    为了重新安装MySql,看别人的博客说在注册表中搜索mysql,全部删除。再安装时提示配置信息已损坏,遇到这个问题怎么处理呢,下面小编给大家带来了详细解决方法,感兴趣的朋友一起看看吧
    2023-01-01
  • windows下mysql 5.7.20 安装配置方法图文教程

    windows下mysql 5.7.20 安装配置方法图文教程

    这篇文章主要为大家详细介绍了windows下mysql 5.7.20 安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Mysql 忘记root密码的完美解决方法

    Mysql 忘记root密码的完美解决方法

    通常在使用Mysql数据库时,如果长时间没有登陆,或者由于工作交接完成度不高,会导致数据库root登陆密码忘记,本文给大家介绍一种当忘记mysql root密码时的解决办法,一起看看吧
    2016-12-12
  • 由不同的索引更新解决MySQL死锁套路

    由不同的索引更新解决MySQL死锁套路

    前几篇文章介绍了用源码的方式来调试锁相关的信息,这里同样用这个工具来解决一个线上实际的死锁案例,下面小编来简单介绍下
    2019-05-05
  • mysql密码中有特殊字符&在命令行下登录的操作

    mysql密码中有特殊字符&在命令行下登录的操作

    这篇文章主要介绍了mysql密码中有特殊字符&在命令行下登录的操作,具有很好的参考价值希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • MySQL redo死锁问题排查及解决过程分析

    MySQL redo死锁问题排查及解决过程分析

    被告知在多实例场景下 MySQL Server hang 住,无法测试下去,原生版本不存在这个问题,而新版本上出现了这个问题,不禁心头一颤,心中不禁感到奇怪,还好现场环境还在,为排查问题提供了一个好的环境,随即便投入到紧张的问题排查过程当中
    2016-10-10
  • MySQL中大数据表增加字段的实现思路

    MySQL中大数据表增加字段的实现思路

    最近遇到的一个问题,需要在一张将近1000万数据量的表中添加加一个字段,但是直接添加会导致mysql 奔溃,所以需要利用其他的方法进行添加,这篇文章主要给大家介绍了MySQL中大数据表增加字段的实现思路,需要的朋友可以参考借鉴。
    2017-01-01
  • MySQL数据库存入Date时天数会少一天的问题及解决

    MySQL数据库存入Date时天数会少一天的问题及解决

    这篇文章主要介绍了MySQL数据库存入Date时天数会少一天的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论