seegroung 2012-12-05
如果用in语句,感觉很慢,跑了好久都没有结果,用存储过程删除可以把握进度,这个是MySQL游标循环的示例代码,避免以后经常找,记录上来。
CREATE DEFINER=`root`@`%` PROCEDURE `bi`.`clean_data`()
READS SQL DATA
BEGIN
declare v_imei varchar(128);
declare stop int default 0;
declare cur cursor for (select imei from bi.tmp_imei);
declare CONTINUE HANDLER FOR SQLSTATE '02000' SET stop=1;
OPEN cur;
FETCH cur INTO v_imei;
WHILE stop <> 1 DO
delete from bi.tmp_dt_fee_user_info where imei=v_imei;
FETCH cur INTO v_imei;
END WHILE;
CLOSE cur;
END