实现功能:从数据库中查询要删除的数据,每个循环删除10000条数据
使用变量前需要声明 DECLARE selectid INT;
从上一个SQL中取参数:select 字段名 into 变量 from table;
做为下一个SQL语句的入参:... where 字段名 = 定义的变量;
DELIMITER $$
DROP PROCEDURE if EXISTS test_deletedata; # 如果存在test存储过程则删除
CREATE procedure test_deletedata() # 创建无参存储过程,名称为insertStudents
BEGIN
DECLARE i INT; # 申明变量
DECLARE selectid INT;
SET i = 0; # 变量赋值
WHILE i<10 DO # 结束循环的条件: 当i大于5时跳出while循环
select id into selectid from table_name limit 10000, 1; # 查询需要删除的数据,获取ID做为变量
delete from ti_interface_data where id <= selectid;
SET i = i+1; # 循环一次,i加1
END WHILE; # 结束while循环
END $$ # 结束定义语句
DELIMITER ; # 重新将分隔符设置为;