在MySQL中,没有类似于编程语言中的WHILE循环结构。但是可以利用循环语句和游标来达到类似的效果。以下是一个示例,演示如何使用游标和循环语句进行批量删除操作:
DELIMITER // CREATE PROCEDURE batch_delete() BEGIN DECLARE done INT DEFAULT 0; DECLARE id INT; DECLARE cur CURSOR FOR SELECT id FROM your_table; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; OPEN cur; read_loop: LOOP FETCH cur INTO id; IF done THEN LEAVE read_loop; END IF; DELETE FROM your_table WHERE id = id; END LOOP; CLOSE cur; END // DELIMITER ; CALL batch_delete();
在上面的示例中,首先创建了一个存储过程batch_delete()
,然后使用游标cur
来遍历表your_table
中的所有记录,并逐条进行删除操作。最后调用存储过程batch_delete()
来执行批量删除操作。