入库存储过程实现功能--查询数据新增数据直接插入,已有数据进行更新
对于会更新数据的网站,如果可以通过一个字段判断该网页数据是否更新,则可以编写存储过程来实现,数据库中已有数据的更新,然后新增数据直接插入数据库的功能:
存储过程语句如下:
CREATE DEFINER=`root`@`%` PROCEDURE `yhaves`(IN `gaame` VARCHAR(50), IN `plorm` VARCHAR(50), IN `serrea` VARCHAR(200))
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
DECLARE cnt INT default 0;
select id into cnt from diyiyou where gamename=gaame limit 1;
if cnt=0 then
insert into diyiyou(gamename,platform,servicarea) values(gaame,plorm,serrea);
else
update diyiyou set gamename=gaame,platform=plorm,servicarea=serrea where id=cnt;
end if;
END
下面示意下在heidisql中的编辑界面:
在火车采集器入库模块中调用方式为:
此存储过程是以mysql为示例。
注意:传入参数名称最好不要与列名相同