Mysql存储过程查询结果赋值到变量
# 使用的navicat 编辑的存储过程
create definer=`root`@`localhost` procedure `insert_student_back`()
begin
#定义max变量
declare max int default 0;
select max(id) into max from student_back;
#判断是不是空值 是空值就赋值为0
if max is null then
set max = 0;
end if;
#备份数据
insert into student_back () select * from student where id > max limit 10;
select max(id) into max from student_register_back;
#返回值
select max;
end
#结束
其他方法:
-- 方式 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;
下一篇: Mysql 获取表设计查询语句
推荐阅读
-
mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法
-
mysql存储过程:定义变量,赋值,判断,输出
-
Mysql存储过程查询结果赋值到变量
-
mysql存储过程使用select ... into语句为变量赋值范例
-
SqlServer中存储过程中将Exec的执行结果赋值给变量输出
-
mysql查询的1个存储过程,显示2个查询结果,如何在PHP里把2个结果显示出来
-
mysql 存储过程中变量的定义与赋值操作_MySQL
-
mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法
-
mysql存储过程,使用的navicat,给变量赋值的简单问题
-
mysql存储过程如何遍历查询结果并更新到另一张表