MySQL存储过程的参数如何使用

MySQL存储过程的参数如何使用

MySQL存储过程参数

MySQL存储过程的参数共有三种:

  • IN

  • OUT

  • INOUT

输入参数

  • 输入参数(IN):在调用存储过程中传递数据给存储过程的参数(在调用的存储过程必须具有实际值的变量 或者 字面值)

细节注意:下面的存储过程创建会报错,他的类型以及类型长度需要和创建表字段的类型和类型长度一致

-- 创建一个存储过程:添加一个员工信息DELIMITER $$CREATE PROCEDURE procedure_test4(IN `p_name` VARCHAR,IN `p_call` VARCHAR)BEGIN  INSERT INTO employees(`name`,`call`)  VALUES(`p_name`,`p_call`);END $$

MySQL存储过程的参数如何使用

正确写法

-- 创建一个存储过程:添加一个员工信息DELIMITER $$CREATE PROCEDURE procedure_test4(IN `p_name` VARCHAR(64),IN `p_call` VARCHAR(64))BEGIN  INSERT INTO employees(`name`,`call`)  VALUES(`p_name`,`p_call`);END $$

MySQL存储过程的参数如何使用

MySQL存储过程的参数如何使用

现在来测试一下是否可以调用存储过程并且添加数据进去

先看一下表原来的数据

MySQL存储过程的参数如何使用

调用一下存储过程

CALL procedure_test4('李四','321321')

MySQL存储过程的参数如何使用

再来看一下结果

MySQL存储过程的参数如何使用

输出参数

  • 输出参数(OUT):将存储过程中产生的数据返回给调用者,相当于Java方法的返回值,但不同的是一个存储过程可以有多个输出参数

例子:

-- 创建一个存储过程:根据id查询出该员工姓名DELIMITER $$CREATE PROCEDURE procedure_test5(IN `p_id` INT(64),OUT `p_name` VARCHAR(64))BEGIN  SELECT `name` INTO `p_name` FROM employees WHERE id=`p_id`;END $$

MySQL存储过程的参数如何使用

创建没问题,接下来调用测试一下

SET @e_name=''CALL procedure_test5('2',@e_name)SELECT @e_name FROM DUAL

MySQL存储过程的参数如何使用

输入输出参数(INOUT)

-- INOUT(输入输出参数)DELIMITER $$CREATE PROCEDURE procedure_test6(INOUT str VARCHAR(64))BEGIN  -- 把你传进来的值作为条件,查询出的结果再重新赋值给 str 返回出去  -- 这里的 str 既当输入参数,也当输出参数  SELECT `name` INTO str FROM employees WHERE id=str;END $$

MySQL存储过程的参数如何使用

创建没问题,接下来测试一下

SET @e_name='2'CALL procedure_test6(@e_name)SELECT @e_name FROM DUAL

MySQL存储过程的参数如何使用

也是没问题的,但在实际开发中 INOUT 建议少用,原因:代码的可读性会变差

到此,关于“MySQL存储过程的参数如何使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

文章标题:MySQL存储过程的参数如何使用,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/21941

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云认证作者
上一篇 2022年8月31日 下午11:26
下一篇 2022年8月31日 下午11:27

相关推荐

  • windows会声会影如何保存视频

    会声会影保存视频的方法 1、首先我们点击上方的“分享”按钮。 2、然后就可以选择我们需要保存的视频格式了。 3、我们还可以勾选“与项目设置相同”,这样就能直接保存和原视频一模一样的格式。 4、然后在下方设置文件名,点击右边文件夹图标设置保存位置,再点击“开始”。 5、最后只要等待视频成功保存就可以了…

    2022年9月15日
    39500
  • excel页面布局位置在哪

    excel页面布局位置: 1、双击打开WPS 2、点击新建进入,选择新建excel空白文档 3、选择打印预览功能 4、点击“页面布局” 5、点击查看整体页面布局即可 到此,关于“excel页面布局位置在哪”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想…

    2022年8月27日
    65400
  • 项目管理是做什么

    项目管理是做什么?根这里我们将根据官方对项目管理的解释,以及项目经理的4大工作职责进行介绍。 一、项目管理具体是做什么 官方解释,项目管理其实是一个管理学科的分支 ,指在项目活动中运用专门的知识、技能、工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望。 比如你准备的一场考试就是…

    2022年3月19日
    39800
  • 如何让mysql不区分大小写

    让mysql不区分大小写的方法:1、进入mysql的安装目录,找到并打开配置文件“my.ini”;2、在配置文件的最后一行加上“lower_case_table_names=1”语句,设置大小写敏感参数“lower_case_table_names”,让mysql对大小写不敏感;3、重启mysql服…

    2022年9月24日
    3.4K00
  • windows edge浏览器缓存位置如何修改

    edge浏览器缓存位置更改方法: 1、进入edge浏览器的路径位置,删除“Cache”缓存文件夹。 2、右击开始,选择“命令提示符(管理员)”。 3、输入命令 mklink /D “C:Users用户名AppDataLocalPackagesMicrosoft.MicrosoftEdge…

    2022年9月8日
    1.5K00
  • C/C++ 程序中的缓冲区下溢指的是什么

    1、缓冲区下溢 在前续专题中对缓冲区上溢进行了分析(见第7期),本文对缓冲区溢出的另一种情况——缓冲区下溢进行描述。缓冲区上溢专题中介绍的造成缓冲区溢出的原因同样适用于缓冲区下溢,因此在本文中就不再赘述。简单的说,缓冲区下溢是指当填充数据溢出时,溢出部分覆盖的是下级缓冲区。本文主要从缓冲区下溢的危害…

    2022年9月20日
    77900
  • 电脑更新错误0x800f0988如何解决

    解决方法: 方法一: 1、首先点击左下角的开始菜单,然后在其中找到“设置” 2、再点击进入设置中的“更新和安全” 3、然后在左侧边栏中选择“疑难解答” 4、然后在右侧启动并运行中点开“windows更新”,选择“运行疑难解答” 5、最后只要等待系统自动检测问题并解决就可以正常更新了。 方法二: 1、…

    2022年9月16日
    93800
  • mysql存储引擎之间的区别有哪些

    mysql存储引擎之间的区别:1、MyISAM不支持事务,不支持行级锁,而InnoDB则支持事务和行级锁;2、InnoDB支持MVCC,支持外键,而MyISAM不支持MVCC和外键。 千万级数据并发如何处理?进入学习 本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3…

    2022年8月30日
    61100
  • windows任务管理器怎么打开

    任务管理器打开的详细方法 方法一:右键点击任务栏空白处,然后点击“任务管理器”即可。 方法二:同时按下“Win+R”键,然后在弹出的对话框中输入“cmd”并按回车键。 接着在任务管理器输入“taskmgr”运行即可。 方法三:同时按下“Ctrl+Alt+Delete”键即可。 方法四、按“WIN+X…

    2022年9月5日
    58000
  • imazing下载超时如何解决

    imazing下载超时解决方法 1、imazing如果下载超时,我们可以先下载一个itunes。 2、因为itunes在安装时会帮我们下载一些imazing需要用到的组件,就能让我们下载imazing时减少一些时间。 3、下载安装完itunes之后,我们可以在本站重新下载imazing,避免是原下载…

    2022年9月15日
    1.1K00
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部