当前位置:   article > 正文

MySQL存储过程——创建_mysql创建储存过程,给定书号的格式

mysql创建储存过程,给定书号的格式


前言

自定义存储过程,由用户创建并能完成某一特定功能的存储过程,存储过程既可以有参数又有返回值,但是它与函数不同,存储过程的返回值只是指明执行是否成功。


一、存储过程的格式

  • CREATE PROCEDURE 过程名([过程参数 […]])
    [特性 …] 过程体

    例如:

mysql> delimiter //
mysql> create procedure proc1(out s int-> begin
    ->
    -> select count (*into s from emp;
    -> end;
    -> //
-> delimiter<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

二、delimiter关键字

  • delimiter是分隔符的意思。
  • 如果我们没有声明分隔符,编译器会把存储过程当成SQL语句进行处理,那么存储过程的编译过程会报错,所以事先要使用delimiter关键字声明当前分隔符(delimiter //),这样MySQL才会将“;”当做存储过程中的代码,不会执行这些代码。但记得用完之后要把分隔符还原(delimiter;)。

三、存储过程的参数

  • MySQL存储过程的参数用在存储过程的定义,共有三种参数类型

IN,OUT,INOUT,

  • 形式如:CREATE PROCEDURE[[IN |OUT |INOUT]参数名 数据类型])

(1)IN输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回。如果没有指定参数,IN参数为默认值

  1. 创建存储过程:
    在这里插入图片描述

  2. 调用存储过程:
    在这里插入图片描述

  3. 结果1:10    结果2:1000    结果3:10

(2)OUT输出参数:该值可在存储过程内部被改变,并可返回

  1. 创建存储过程:
    在这里插入图片描述

  2. 调用存储过程:
    在这里插入图片描述

  3. 结果:14 表示emp表所有记录的条数是14条

(3)INOUT输入输出参数:调用时指定,并且可被改变和返回

  1. 创建存储过程:
    在这里插入图片描述

  2. 调用存储过程:
    在这里插入图片描述

  3.  结果1:111    结果2:666     结果3: 666


四 、存储过程的变量

①  变量定义

  • DECLARE variable_name [variable_name…] datatype [DEFAULT value];
    其中,datatype为MySQL的数据类型,包括:int,float,date,datetime,varchar(length)。

②  用户变量

  • 用户变量名一般以@开头;

(1)在Mysql客户端使用用户变量

  • 方式1:
    在这里插入图片描述

  • 方式2:
    在这里插入图片描述

  • 查询结果:
    在这里插入图片描述
    注:声明用户变量并且赋值的时候可以使用表达式:
    在这里插入图片描述
    在这里插入图片描述
    (2)在存储过程中使用用户变量

  • 创建存储过程:
    在这里插入图片描述

  • 调用存储过程:
    在这里插入图片描述

  • 结果:
    在这里插入图片描述
    (3)在存储过程间传递全局范围的用户变量

  • 创建存储过程:
    在这里插入图片描述

  • 调用存储过程:
    在这里插入图片描述

  • 结果:
    在这里插入图片描述


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/683879
推荐阅读
相关标签
  

闽ICP备14008679号