BEGIN
DECLARE k INT ;
DECLARE m INT ;
DECLARE n FLOAT ;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION,NOT FOUND,SQLWARNING SET flag=500;
SET @str1='UPDATE excel SET ard = CONCAT(`ard`,",1") WHERE `name` IN ';
SET @str1=CONCAT(@str1,snames);
PREPARE stmt1 FROM @str1;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
SET @str2='UPDATE excel SET ard = CONCAT(`ard`,",0") WHERE `name` NOT IN ';
SET @str2=CONCAT(@str2,snames);
PREPARE stmt2 FROM @str2;
EXECUTE stmt2;
DEALLOCATE PREPARE stmt2;
UPDATE excel SET dates=CONCAT(dates,',',`datess`);
SELECT LENGTH(excel.`ard`)-LENGTH(REPLACE(excel.`ard`,'1','')) INTO k FROM excel ;
SELECT LENGTH(excel.`ard`)-LENGTH(REPLACE(excel.`ard`,',','')) INTO m FROM excel ;
SET n=CONCAT(ROUND(m/(k+1) * 100, 2),'','%') ;
UPDATE excel SET ardrate=n;
IF flag=500 THEN ROLLBACK;
ELSE SET flag=200;
END IF;
END$$