在使用语句的时候,不可避免的要考虑参数的问题,而参数又是用来辅助变量的。有些小伙伴看到我们标题中的入参形参不知道是什么意思,其实也不难理解。我们把出参和入参看成输入和输出的意思就可以了。想必这样说大家就理解其中的意思,至于入参和出参如何表示,我们一起往下进行详细的学习。

入参出参

语法: in|out|inout 参数名 数据类型 , ...

in 定义出参; out 定义入参; inout 定义出参和入参。

出参in

使用出参in时,就是需要我们传入参数,在这里可以对参入的参数加以改变。简单来说in只负责传入参数到存储过程中,类似Java中的形参。delimiter //

create procedure val_in(in val_name varchar(32))

begin

# 使用用户变量出参(为用户变量赋参数值)

set @val_name1 = val_name;

end //

# 调用函数

call val_in('DK') //

# 查询该用户变量

select @val_name1 //

入参out

在使用out时,需要传入一个参数。而这个参数相当于是返回值,可以通过调用、接收来获取这个参数的内容。简单来说out只负责作返回值。delimiter //

# 创建一个入参和出参的存储过程

create procedure val_out(in val_id int,out val_name varchar(32))

begin

# 传入参数val_id查询员工返回name值(查询出的name值用出参接收并返回)

select name into val_name from employee where id = val_id;

end //

# 调用函数传入参数并声明传入一个用户变量

call val_out(1, @n) //

# 查询用户变量

select @n //

入参出参inout

inout关键字,就是把in和out合并成了一个关键字使用。被关键字修饰的参数既可以出参也可以入参。delimiter //

create procedure val_inout(in val_name varchar(32), inout val_age int)

begin

# 声明一个a变量

declare a int;

# 将传入的参数赋值给a变量

set a = val_age;

# 通过name查询age并返回val_age

select age into val_age from employee where name = val_name;

# 将传入的a与-和查询age结果字符串做拼接并查询出来(concat——拼接字符串)

select concat(a, '-', val_age);

end //

# 声明一个用户变量并赋予参数为40

set @ages = '40' //

# 调用函数并传入参数值

call val_inout('Ziph', @ages) //

# 执行结果

# 40-18

以上就是我们对于数据库mysql存储过程中参数的一些介绍,in是输入,out是输出,各自对应它们的中文意思,这样记忆就不会使用出错了。

mysql存储过程出参和入参_数据库mysql存储中的入参出参理解相关推荐

  1. mysql压缩包安装的密码忘了怎么办_数据库mysql 8.0.18 压缩包安装及忘记密码重置所遇到的坑...

    http://www.cppcns.com/shujuku/mysql/283231.html  也可以参照这个8.0.18安装方法 1.下载zip安装包(解压到指定文件夹) 1)从mysql官网下载 ...

  2. mysql计算多少天后的日期_数据库 - mysql 计算某个时间,多少天后,多少个月后时间戳...

    数据库设计(一): 数据库设计步骤:  需求分析-------->  逻辑设计 ------------> 物理设计----------->维护优化. [1]需求分析:分析需要存储的 ...

  3. mysql清空数据库所有表的命令_mysql清空表数据命令是什么?_数据库,mysql,清空表数据...

    mysql服务无法启动怎么解决_数据库 mysql服务无法启动的解决方法是:1.配置环境变量:2.在mysql安装目录下,新建my.ini文件,设置默认字符集.端口.存储引擎等:3.执行[mysqld ...

  4. 阿里云数据库RDS MySQL 物理全备文件数据恢复至自建数据库Mysql 5.7中

    环境介绍: CentOS 7.5 Mysql 5.7 percona-xtrabackup-24 注意事项 操作系统中已安装数据恢复工具Percona XtraBackup,您可以从Percona X ...

  5. mysql数据库存储数据的过程_[数据库]MySql存储过程总结

    [数据库]MySql存储过程总结 0 2014-06-12 01:00:50 之前总是在MSSQL上写存储过程,没有在MYSQL上写过,也基本没有用过,今天需要用到MYSQL,研究了下,把项目的需要的 ...

  6. 数据库mysql存储过程_[数据库]mysql存储过程的建立及使用

    mysql存储过程的建立及使用 建立存储过程,特别是带有参数的情况反复出错,经常提示"字符串格式不正确",或者是找不到这样,找不到那样,经分细心分析.分步测试,终于上传成功,这里介 ...

  7. mysql怎么放入图片_往MySQL中存储图片的方法

    1 介绍 在设计到数据库的开发中,难免要将图片或音频文件插入到数据库中的情况.一般来说,我们可以同过插入图片文件相应的存储位置,而不是文件本身,来避免直接向数据库里插入的麻烦.但有些时候,向MySQL ...

  8. mysql存储过程返回多个值_数据库mysql存储过程之返回多个值的方法示例

    本文实例讲述了mysql存储过程之返回多个值的方法.分享给大家供大家参考,具体如下: mysql存储函数只返回一个值.要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程.咱们先来 ...

  9. @query传参_前端框架vue中query和params传参

    注意(用params传参,F5强制刷新参数会被清空,用query,由于参数适用路径传参的所以F5强制刷新也不会被清空.(传参强烈建议适用string)) 也可以选用sessionstorage/loc ...

最新文章

  1. 清华北大南大全面“线上开学”,10 大直播神器齐亮相!
  2. windows系统中,在当前目录下打开cmd命令行的两种方法
  3. Linux 有趣命令
  4. 【错误记录】发布 Flutter 插件包报错 ( It‘s strongly recommended to include a “homepage“ or “repository“ field )
  5. JZOJ 5478. 【NOIP2017提高组正式赛】列队
  6. 小学经历——我家有猪
  7. window 之命令行的cd
  8. Spring boot starter
  9. 国科大prml11-降维
  10. 今天的春天到了的p2psearcher
  11. python中必须使用import引入模块_Python之import方法引入模块详解
  12. [LeetCode] Spiral Matrix II
  13. python+selenium 使用for循环,遍历 定位 获取 单个元素中想要的值
  14. 5G下行候选新波形简介(1)--FBMC、UFMC、GFDM
  15. h5页面制作软件html包,iH5专业H5页面制作工具网页版
  16. 毕业后,重装电脑系统,我的资料备份
  17. 高效记忆/形象记忆(06)英语单词记忆-字母编码
  18. 国行版苹果 ios 按键精灵无法联网问题处理
  19. python将word表格转写入excel
  20. Java 小白 设计加油站类和汽车类,加油站提供一个给车加油的方法,参数为剩余汽油数量。每次执行加油方法,汽车的剩余数量都会加2

热门文章

  1. Dubbo集群容错模式之Failsafe实现
  2. 【媒体报道】2013eoe移动开发者大会圆满落幕
  3. 固实压缩文件容易损坏_winrar应用:创建分卷固实压缩带恢复记录的压缩文件 [原创]...
  4. python判断x是否为奇数表达式_Python-day3
  5. 计算机财务管理知识点,财务管理知识点梳理(财务基础必背知识点整理篇)
  6. DBSCAN聚类算法简介
  7. scoop下载安装教程,无报错,超简单。
  8. Sql2012的下载与安装
  9. 关于ubuntu使用鼠标延迟问题
  10. 远程连接mysql2005_数据库2005链接远程