MYSQL存储过程

抓取连接的时候进行批量连接存储,更具条件分为三种执行状态:
更新,插入,不执行
MySql存储引擎实现实例:

CREATE DEFINER=`root`@`%` PROCEDURE `searchUpdate`(IN `URLSTR` varchar(1024),IN `K_YSTR` varchar(64),IN `UPDATEDATELONG` varchar(20))
BEGIN
DECLARE sTemp INT;
SET sTemp=0;
SELECT COUNT(K_Y) INTO sTemp FROM tb_price_searchurl WHERE K_Y=K_YSTR;
WHILE sTemp=0 DO    
INSERT INTO tb_price_searchurl(K_Y,URL,UPDATEDATE,UPDATEDATESTR,STATUS) VALUES(K_YSTR ,URLSTR ,UPDATEDATELONG,date_format(now(),'%Y-%m-%d'),1);
END WHILE;  
WHILE sTemp!=0 DO
SELECT COUNT(K_Y)  INTO sTemp FROM tb_price_searchurl WHERE K_Y=K_YSTR and UPDATEDATESTR < DATE_FORMAT(date_sub(now(),interval 2 day),'%Y-%m-%d')  AND STATUS=0;
WHILE sTemp!=0 DO    
UPDATE tb_price_searchurl SET  UPDATEDATESTR=date_format(now(),'%Y-%m-%d'), UPDATEDATE=UPDATEDATELONG,STATUS=1;
set sTemp=0;
END WHILE;
END WHILE; 
END


备注MYSQL存储引擎在使用变量的时候注意点:
varchar类型不允许设置存储过程变量 这样导致查询条件无效。

你可能感兴趣的:(mysql)