Mysql存储过程查询结果赋值到变量的方法

Mysql存储过程查询结果赋值到变量的方法
 
把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值。示例代码:
 
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
01
drop table if exists test_tbl;
02
create table test_tbl ( name varchar (20), status int (2));
03
insert into test_tbl values ( 'abc' , 1),( 'edf' , 2),( 'xyz' , 3);
04
 
05
drop procedure IF EXISTS pro_test_3;
06
delimiter //
07
create procedure pro_test_3()
08
begin
09
--  方式 1
10
     DECLARE cnt INT DEFAULT 0;
11
     select count (*) into cnt from test_tbl;
12
     select cnt;
13
 
14
--  方式 2
15
     set @cnt = ( select count (*) from test_tbl);
16
     select @cnt;
17
 
18
--  方式 3
19
     select count (*) into @cnt1 from test_tbl;
20
     select @cnt1;
21
 
22
--  多个列的情况下似乎只能用 into 方式
23
     select max (status), avg (status) into @ max , @ avg from test_tbl;
24
     select @ max , @ avg ;
25
end
26
//
27
delimiter ;
28
 
29
call pro_test_3();
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值