Mysql把查询结果赋值到变量,我们可以使用set或into的方式来实现赋值。示例代码如下:
drop table if exists test_tbl; create table test_tbl (name varchar(20), status int(2)); insert into test_tbl values('abc', 1),('edf', 2),('xyz', 3); drop procedure IF EXISTS pro_test_3; delimiter // create procedure pro_test_3() begin -- 方式 1 DECLARE cnt INT DEFAULT 0; select count(*) into cnt from test_tbl; select cnt; -- 方式 2 set @cnt = (select count(*) from test_tbl); select @cnt; -- 方式 3 select count(*) into @cnt1 from test_tbl; select @cnt1; -- 多个列的情况下似乎只能用 into 方式 select max(status), avg(status) into @max, @avg from test_tbl; select @max, @avg; end // delimiter ; call pro_test_3();
来源:https://www.cnblogs.com/lovekingly/p/3484146.html