MySQL存储过程

存储过程是一组预先编译好的SQL语句的集合

好处:提高了代码的重用性

简化操作

减少了编译次数并且减少了和数据库连接次数,提高效率

创建存储过程#语法  参数列表包含三部分  参数模式 参数名 参数类型 如 IN name varchar(20)

# 如果begin end中只有一条语句,begin end可以省略

# 存储过程体的每个SQL语句结尾都要使用分号,所以需要使用delimiter重新设置结束标记

create procedure 存储过程名(参数列表)

begin

存储过程体

end

参数模式IN  该参数可以作为输入,需要调用方传入

OUT 该参数可以作为输出,作为返回值

INOUT  该参数既可以作为输入,也可以作为输出

执行存储过程call 存储过程名(参数列表)

删除存储过程drop procedure 存储过程名

查看存储过程信息show create procedure 存储过程名;

示例delimiter $ #更改结束符

create procedure mypro(IN stu_id int, #入参 学生id

out stu_name varchar(20), #返参 学生名

out class_name varchar(20), #返参 班级名

inout a int) #测试inout

begin

select s.name,c.name into stu_name,class_name  #将查到的学生名和班级名赋值给返参stu_name,class_name  stu_name,class_name处于用户变量

from student s

join class c on s.classid = c.id

where s.id = stu_id;  #根据学生id查询学生名和班级名

set a = a * 2; #给inout参数赋值 a是用户变量

end $

delimiter ; #结束符改回来

set @m=10; #设置变量

call mypro(1,@stu_name,@class_name,@m);

select @stu_name,@class_name,@m; #查询结果

mysql 存储过程参数集合_MySQL存储过程相关推荐

  1. mysql 存储过程 定义数组_MySql存储过程

    Mysql进阶 存储过程 1 什么是存储过程 1.存储过程,带有逻辑的sql语句 2.之前的sql没有条件判断,没有循环 3.存储过程带上流程控制语句(if while) 2 存储过程特点 1)执行效 ...

  2. c# mysql存储过程 输出参数值_MySQL 存储过程参数用法 in, out, inout

    MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...

  3. mysql 存储过程简单使用_mysql存储过程的简单使用教程

    存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程 c ...

  4. mysql 存储过程 out 用处_mysql存储过程 OUT or INOUT argument 3 for routine

    mysql存储过程出现: OUT or INOUT argument 3 for routine gotask.UserLogin is not a variable or NEW pseudo-va ...

  5. mysql存储过程 简书_MySQL存储过程

    在本节中,您将逐步学习如何在MySQL中编写和开发存储过程. 首先,我们向您介绍存储过程的概念,并讨论何时使用它. 然后,展示如何使用过程代码的基本元素,如创建存储过程的语句,if-else,case ...

  6. mysql 自定义函数 事务_MySQL存储过程、触发器、自定义函数、事务

    1.存储过程 MySQL中存储过程的参数中有IN.OUT.INOUT类型,但是函数的参数只能是IN类型的. "in" 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过 ...

  7. mysql 存储过程建表_MySQL 存储过程创建表

    创建 CREATE PROCEDURE  Pro_IsExistTable(ableName varchar(100),out outputParam int) BEGIN set @csql=con ...

  8. mysql存储过程注释方法_mysql存储过程 详细注释

    原文:https://my.oschina.net/u/3582142/blog/1581929 delimiter $$ /* 重新定义mysql结束符,而不再是分号是结束符 */ create p ...

  9. mysql的游标处理_mysql 存储过程、游标及逐行处理的配合使用

    1. 数据准备 +----+------+--------+ | id | name | price1 | +----+------+--------+ | 1 | 大米 | 5 | | 2 | 鸡蛋 ...

最新文章

  1. BigdCIMAL类型数据的使用选择
  2. 解决用户使用临时配置文件登陆WIN7的问题
  3. LIC-Fusion 2.0:基于滑动窗口法平面特征跟踪的激光雷达惯性相机里程计
  4. UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能
  5. SAP 电商云 Spartacus UI Quick Order 延迟加载的现象分析
  6. 【TypeScript系列教程10】循环语句的使用
  7. python爬虫:爬取某网站视频
  8. linux syslog 3
  9. C++ sort()函数
  10. 高斯模糊 主色 android,【PS精选案例教程】制作柔美的蓝色数码霓虹字
  11. 中间件——《中间件技术原理及应用》考试复习重点
  12. Android使用惠普打印机,USB直连静默打印
  13. 统一批量修改word页眉页脚
  14. linux 视频壁纸,Plasma video wallpaper: KDE 4 视频壁纸
  15. 【问答】用SVG矢量图形自定义不规则控件——中国地图
  16. 采用analysis-dynamic-synonym插件,动态文件的方式同步同义词
  17. Johnson-Trotter 生成全排列算法
  18. 数据库知识点整理(一)
  19. Matlab求解给定系统稳态误差
  20. 小试牛刀—猜数字游戏

热门文章

  1. Linux学习总结(49)——应当竭力避免在系统中运行的 Linux 命令
  2. Java基础学习总结(65)——Java中的String,StringBuilder和StringBuffer比较
  3. 注册app短信验证平台_免费的短信验证码平台弊端竟然这么多!
  4. java运行指定文件_java打开指定文件(运行指定程序exe)
  5. Java函数式编程整理
  6. Android基础View回顾
  7. 慎用mutableCopy
  8. vue页面无操作10分钟内调转到登录页面
  9. Mybatis Plus启动注入 SQL 原理分析
  10. 2152:聪聪可可(点分治)