变量的使用

需求:创建存储过程,查询学生的数量。利用sql语句计算语法得到数量,然后赋值给输出变量,赋值方式:利用关键字into直接在sql语句中赋值
create procedure proc_test3(out c int)
begin
** select count(stu_num) into c from students;**
end;
call proc_test3(@n);
select @n from dual;

全局变量尽量少用,不便于维护

存储过程参数

mysql存储过程的参数有三种:IN / OUT / INOUT

  • IN输入参数
    在调用存储过程中传递数据给村塾过程的参数(在调用的过程必须为具体的值)
    需求:添加学生信息


    这样就可以直接将这些数据添加到数据表中(创建的存储过程其实就是一种函数,可以在“函数选项中查看”)
  • OUT输出参数
    作用是将存储过程中产生的数据返回给过程给过程的调用者,相当于java的返回值,但不同的是一个存储过程可以有多个输出参数
    需求:根据学生学号,查询学生姓名
    create procedure proc_test1(in id int, out name varchar(20))
    begin
    ** select name into name from stus where id = id;**
    end;
  • INOUT输入输出参数
    通过上一个案例,我们查询学生姓名,需要定义两个形参,那么INOUT就只需要定义一个形参,但有一点要注意,之前的输出参数是可以空值代入的,而使用inout时,把必须实参带入2以为sql指令提供具体值
posted @ 2023-02-24 20:02  BattleTrumpet  阅读(19)  评论(0)    收藏  举报