存储过程——用户自定义变量、局部变量

1.用户自定义变量

在会话一定义的变量在会话二中是用不了的。
在这里插入图片描述
使用set指令定义变量,并为变量赋值,mysql中赋值推荐使用 :=,因为在mysql中没有==这个比较运算,=也带有比较运算的功能,因此赋值运算推荐使用 :=

set @myname = 'itcast';
set @myage := 10;
set @mygender := '男',@myhobby := 'java';

使用变量

select @myname,@myage,@mygender,@myhobby;

select语句赋值

select @mycolor := 'red';

将指定sql查询的结果赋值给某一个变量

select count(*) into @mycount from tb_user;

用户定义的变量无需对其进行声明或者初始化,只不过获取到的值为null,并不会报错;
在这里插入图片描述

2.局部变量

在这里插入图片描述
定义局部变量的语法,局部变量只在begin和end中间生效;

create procedure p2()
begin
	declare stu_count int default 0;
	select count(*) into stu_count from student;
	select stu_count;
end;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44860226/article/details/131906882