Mysql存储过程 IN , OUT , INOUT 类型的区别及使用

  1. IN :将一个值传递给存储过程,就像给函数传参一样,存储过程可以对这个值进行操作,但存储过程执行完成后 这个值 对调用者不可见,如参数前不指定类型,默认为IN;

    按年龄统计学生表中的人数:
    这里插入图片描述
    传入参数:18
    在这里插入图片描述

  2. OUT:存储过程将值赋给OUT类型变量(传入的是变量,不是具体的值),过程执行完后该变量可以被调用者访问,有点函数返回值的感觉,但可以传入多个OUT类型参数;

    统计老师表和学生表的记录数:
    在这里插入图片描述在这里插入图片描述
    获取变量 student 的值:
    在这里插入图片描述

  3. INOUT:IN和OUT的结合体,既可以通过该类型的参数传入值,也可以取出被存储过程修改后的值。
    在这里插入图片描述
    这里有一个问题,INOUT类型需要接收一个变量,而不是一个具体的数字,这样才能通过这个变量获取存储过程传递出来的值,所以需要提前定义一个变量,把这个变量传到存储过程中去。

    定义变量 count_tea ,赋初值 8:
    在这里插入图片描述
    在这里插入图片描述
    获取存储过程输出的值:
    在这里插入图片描述

发布了1 篇原创文章 · 获赞 0 · 访问量 7

猜你喜欢

转载自blog.csdn.net/qq_43144781/article/details/103961056